-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Find a solution for versioning documentation via ghpages #265
Comments
can we use git tags to version docs in master? then in master have a directory for each release |
@kimpham54 maybe. But, the repo includes all of the 7.x tags as well, and we don't have any tags for 7.x-2.x. The @Islandora-CLAW/committers will need to determine if we should "release"/tag any of that work, of if we just move on from it and abandon it. We'll probably what to draft a policy for how we handle documentation moving forward. If that is something you want to work on, and @dannylamb is cool with that, I think that would be a good start. All that said, the August sprint is probably going to be hyper-concentrated on the MVP. |
OK, I can take this on this sprint but plenty of work to do still with #281 so happy to wait as well |
@ruebot at least tag it. we're not just going to nuke it. @kimpham54 handling documentation per version is a very valuable goal and could be done independent of mvp design. i'll put an item on the agenda for the claw call if you have any ideas you want to share, or if you want to talk strategy with anyone. |
@dannylamb might as well add an agenda items about what we're going to tag then, because we'll definitely need to talk that out. |
@ruebot done |
Another option to consider: http://couscous.io/ |
@kimpham54 we're already setup for that with MkDocs; http://islandora-claw.github.io/CLAW/ is ghpages. |
I looked into the possibility of viewing deployed tagged versions of documentation by tagging master in gh-pages. This doesn't seem possible from what I can tell. As an alternative proposal to view previous versions, we can create a new directory to organize the documentation for each new release: 7.x-2.2 (current) accessed at http://islandora-claw.github.io/CLAW/7.x-2.2/ Tagging can still be useful if a tag is created for a release, it can trigger a webhook to deploy the new version of the docs to gh-pages. You can also use webhooks to deploy docs on a regular basis between releases. Webhooks can also easily let others contribute to the documentation - once a doc contributor proposes a file change via pull request which once this is approved it can be deployed to gh-pages. Proposed Workflow:
|
@ruebot thanks nick. just a couple of questions:
|
|
going to look into this more tomorrow, thanks |
A first kick at the can: This is how the docs are structured: I think symbolic links should be removed, and instead use webhooks (? if possible) to mirror the READMEs in each submodule repository to the READMEs in CLAW/docs/[submodule]/README.md. That way all documentation can live in one place, which will be simpler for contributors should they wish to add additional .md files. They would add it to docs/[submodule] instead of the submodule repo itself. You wouldn't have to keep making symlink docs in CLAW/docs. Submodules would only have READMEs that stay in sync with the READMEs in docs/. Then, for every release:
Notes:
Any comments or other suggestions on what I should look into next are welcome |
Looking at the navigation here, I find it very confusing.
This would have to follow semantic versioning, given the Versioning Policy ...what if we took a step back, and looked at this is a different way. Is there anything that says that we have to have a full set of documentation for every version? Would it be too naive to say that we just have documentation, and if we have any version specific documentation, we wrap it in version headers or warnings. Then, go through a deprecation cycle, just like we would with code? |
if you want documentation by release, we could probably use custom css to override the way that the links are being displayed in navigation. we could collapse the subheadings and links. the solution is a little complex, so maybe it's not the best approach to managing documentation if having full documentation for every release is not required. i guess it depends on how people intend to use the documentation. instead, you could have release notes highlighting what changes have been made, what documentation has been changed and deprecating |
Hmm... Also, when I choose the Home link under a release it only seems to highlight part of that section. It doesn't include the sub-repos. Lastly, we might need to re-write links so the Alpaca link under 8x-11/Home points to the 8x-11/Alpaca/README.md, currently it points to github.com (which is the current version). |
Have you considered Read the Docs? It seems like it can do what you want. Example from Omeka: http://omeka.readthedocs.io/ |
@rdeanlib I'll take a look at this - thanks! |
Demo of CLAW documentation by tag using readthedocs: For now it seems like readthedocs isn't pulling in the READMEs from the submodules like mkdocs alone: Link to the readthedocs project: https://readthedocs.org/projects/islandora-claw-kimpham54/ Does this seem like a better approach? Again comments and suggestions are welcome other issues i've noticed:
sphinx seems to be better supported with readthedocs than mkdocs, so that might be worth testing? |
So I've been playing around with some of the different options again, and would like to see if any of these options stand out for anyone in particular to pursue. I've included some of my thoughts on each platform below. readthedocs: restructuredtext (sphinx)
readthedocs: mkdocs
mkdocs standalone
FEATURE REVIEW easily view and edit different versions for release documentation easily edit and clear path to do so from html page to github repository notes:
flexible enough to support docs all in one place or docs embedded with code in separate repos notes:
|
also is there any interest using confluence again? |
👎 Confluence |
Awesome job @kimpham54, regarding the question of "easily edit and clear path..." you said "somewhat" for sphinx. Could you elaborate a little? |
@whikloj I certainly can. Sphinx's use of reStructuredText at first glance has similar, easy-to-read syntax as markdown, but if we want it to be it can become a lot more complex using semantic markup (http://www.sphinx-doc.org/en/stable/markup/index.html) that isn't supported in Github. To get started with Sphinx, there are also a lot of additional built-in modules and configuration setup pages. It doesn't mean we have to use the complex syntax but it's there as a possibility and if someone decides to use it, it may be harder to maintain or convince other contributors to follow those conventions. It's also worth noting that when I did a quick search for package support in sublimetext, atom, and repos in github for markdown vs restructuredtext it also seems like markdown as a general format is more widely used. |
I was reviewing this ticket and wanted to provide an update on versioning with github pages. I'm not sure how to move this ticket forward, other than to suggest that if we have those processes in place (such as coordinating tags across repositories for releases) that would be a step in the right direction. Does anyone have experience with automating this via github webhooks or something similar? |
Might be a good topic of discussion for the documentation team at the hackfest here in a couple weeks. @manez, that sound ok? |
@ruebot we can always suggest it for a topic 👍 |
I have seen the light, use single page README.adoc: http://www.cirosantilli.com/markdown-style-guide/#use-asciidoc |
I faced same challenge and solved it using GitHub actions. Details is described in this stackoverflow answer. |
Apparantly the material theme we're using has this as a paid feature: https://squidfunk.github.io/mkdocs-material/setup/setting-up-versioning/#versioning |
We are now subscribing to the paid features, but have not implemented this one. |
@eldonquijote tested MkDocs Material versioning with mike and found it to work. Requires changing the Travis configuration to invoke mike instead of mkdocs. |
Currently, the way we use MkDocs and ghpages, we don't have a way to version documentation. As we are moving away from the 7.x-2.x branch, I would like to see that documentation still exist, but, at the same time, we need documentation for the master branch.
Let's use this issue for strategizing a way accomplish this.
One option to kick off the discussion would be to just move the 7.x-2.x documentation over to the master branch in a directory, and map it out from there.
The text was updated successfully, but these errors were encountered: