- Add documentation_url to LibraryVersion table
- Retrieve the documentation_url in the view
- If the documentation_url is not present, show the Version documentation_url
- Hide the "https://" in the template
- Add Celery task to retrieve the documentation_urls from the libraries page in S3 and match them to import_library_versions
- Add HTML helper function to extract the libraries and docs URLs from the HTML
- Add one-time command to import docs urls
- Load the documentation_urls in the command that loads all library-versions
- Add a min-release option to the command that loads library-versions
- Document the new command and changes to the existing command
Template tag to truncate the hashes in the middle
`{{ "reallylonghashtobetruncatedbythisnewtemplatetag"|truncate_middle:20 }}`
Will produce an output of “reallylong....emplatetag” where 20 will add elipses between 10 chars on each side.
This modernization occurs on the fly over potentially-cached S3 files. This
means, the legacy doc pages are fetched and cached just like any other S3
static content, and the modernization happens when the page is requested. This
way, we can safely render modern parts of the pages (like the header) and
account for dynamic state such as logged in users.
The resulting docs (also called FrankenDocs :-)) are processed using
BeautifulSoup and a fairly simple heuristic that can be found in the
`core/htmlhelper.py` module.
Add `pre-commit` to the requirements list, and updated the version it uses.
Also removed the `sample.adoc` since the relevant test always creates it (and
it was causing spurious lint check errors).
- Add RenderedContent model and related helper methods
- Change StaticContentView `get()` logic to try the cache, then the db, then S3
- Change StaticContentView to update db appropriately
- Refactoring for readability/maintainability
- Make web service depend on redis
- Add function to extract body from html content
- In view, extract body before returning converted ascciidoc in response