Now using proprietary styles for the user guide - not shared with docs. We are able to better isolate and fix issues with the user guide header without having to touch antora.
Add data JSONField to LibraryVersion model
Add fields to library list admin display
Add commands to update authors and maintainers individually
Exclude data JSONField from view querysets
Silence some output from the library-version import management command
Remove unused field from the library-version import management command
Save library-versions more cleanly in the library-version import management command
Remove loading maintainers from the import command, since they now have their own command
Add docs for new commands
Add boost_setup command to run one command to import all data
Add docs on first-time data import
Better exception handling, quieter flow, reduce GH API calls
Graceful handling if there is not a github repo
Pass most recent 12 months to commit counts command
Add some user-friendly output to setup command
- Add `verbose` flag to `import_versions` to allow user to silence the output
- Removed some unused options from `import_versions`
- Moved the exclusion logic in `import_versions` to its own function
- Stop getting the `github_url` from the github API. Instead, generate it from the tag. (reason: in older tags, the best URL GitHub gives us is a less-useful one to a _commit_ and not a tag. We can generate the url, though.)
- Move the retrieval of the `release_date` to its own task, so it can be loaded async. (reason: it's a separate API call per version to get the date)
- Make `release_date` optional on the `Version` model (reason: make the field easier to load async)
- Simplify logic to retrieve `release_date` and just always retrieve it from the commit
- Stop loading the version `description` from GitHub. We don't use it on the frontend anyway, and in all but the most recent couple of versions, the `description` is the comment from the commit, which is usually not useful.
- 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