Comments (13)
Bump, this is still accessible from google and still broken.
from crystal-book.
I've just deleted the file from the S3 bucket, so it now displays an ugly 404 error.
We should probably add a custom, nice 404 error page.
from crystal-book.
@straight-shoota please KISS: clean the bucket and add a good 404 page. This is overengineering.
from crystal-book.
I like the one from https://crystal-lang.org/404
from crystal-book.
from https://docs.travis-ci.com/user/deployment/s3/
Note that deploying to S3 only adds files to your bucket, it does not remove them. If you need to remove deprecated files you can do that manually in your Amazon S3 console.
from crystal-book.
This should really be solved.
Just manually kicking obsolete pages out of the bucket would already help.
Or we could add the file back to the repo as redirect to a new location.
from crystal-book.
this should be automated
from crystal-book.
Maybe it would be best to just replace obsolete URLs with a redirect.
When there is not a direct replacement (like with global variables), it could also be a custom 404 page explaining that this was removed and referencing related sections. I don't know how or if custom 404 at specific paths can be implemented in S3, though. It would be fairly easy with Netlify's redirect rules.
from crystal-book.
the 404 page is beside the point, the point is clearing the s3 bucket before we upload the new files
from crystal-book.
If every URL that ever existed, will always resolve to a file (and be that just a redirect or custom 404 page), the bucket wouldn't need to be cleaned, because all files will simply be overridden.
from crystal-book.
I'm against redirections. This seems good at first, but we'll end with a redirection hell.
Where to do the redirections, in Route53, keeping the old empty page to do this in HTML?
Just a 404 page is fine, even more for those trying to access pages that have never existed https://crystal-lang.org/docs/404.
For the cleanup side, this can be done in the CI with a custom script/command talking to the AWS API to delete single or multiple objects.
from crystal-book.
redirection hell
That's a limitation of the specific infrastructure, but not in general.
Redirects would allow to replace outdated paths (such as installation/on_bash_on_ubuntu_on_windows
-> installation/windows_subsystem_for_linux
) while still being able to access the specified resource from the old path. Currently, we just left the old path to avoid dealing with change. But that's not a viable long-term solution.
from crystal-book.
It doesn't need to be implemented right away, but redirects are a ordinary components of a website and nothing super-fancy and overengineered. I'd like to think of having redirects from obsolete paths as being a pretty standard feature. This is usually included when I deploy static websites.
from crystal-book.
Related Issues (20)
- Proper handling of branches HOT 1
- Documentation error about Operator Precedence for `==` and `<` HOT 2
- Redirect loop for a bunch of docs since 1.5 HOT 1
- [Documentation] Please add two entries to https://crystal-lang.org/reference/1.5/using_the_compiler/index.html - one for compiling multiple .cr files, and one for integrating shards HOT 1
- Typo in example of method arguments HOT 1
- Port "required libraries" from wiki
- Add more concurrent example/document/blog HOT 1
- The `play` button should use the same version as the documentation
- Dependency Dashboard
- make serve is broken HOT 5
- Lib enum example does not work
- Overview page
- Document `fun` defs
- Document for case statement case nil and others condtions HOT 1
- There is no clear document for how `require "foo/bar/baz"` work. HOT 5
- Note Ruby symbol hash shorthand notation isn't supported HOT 2
- Documentation on `fun` argument conversion is incorrect HOT 1
- [crystalforrubyists] Add concurrency and TypeProf
- make serve HOT 7
- Symbol enum auto-casting
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crystal-book.