-
Notifications
You must be signed in to change notification settings - Fork 21
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
move Wiki from Github #21
base: main
Are you sure you want to change the base?
Conversation
…md to 0021-move-wiki-from-GitHub-and-host-as-static-site.md update RFC numbers
I like the idea. One thing that might have to be addressed in the rfc more explicitly is in how far a wiki can be still a wiki if it is not editable directly. Can you edit it in a wiki-way offline and then sync the changes? How would the workflow be? |
I've updated the top post to include points raised by @capital-G in the original Issue. More implementation details from that thread: Editing the Wiki - PR process
How the TOC gets built
Resolving dead links:
Themes:
|
An alternative approach could be to transfer the wiki to our discourse forum as discourse also offer posts which can be edited by a multiple users via a group, see https://meta.discourse.org/t/what-is-a-wiki-post/30801 and https://meta.discourse.org/t/create-a-wiki-post/30802 Pro:
Con:
I think I'd actually favor this approach. |
So the history lost would be the edit history only of the wiki, right? |
We could do a "bulk import" of the existing wiki into the forum and transfer and archive the github wiki as an actual git repo, so the history of it would be accessible (e.g. blame looks like this https://github.com/capital-G/supercollider-wiki/blame/main/docs/contributing/style/Style-Guidelines%3A-Cpp.md ) |
What does "bulk import" entail? |
We could write a script which imports the current wiki into discourse. But it may be faster to do just manually, as the wiki is not too big currently. |
Any way to move forward here? @scztt do you think the forum would be a viable place for the wiki? |
I was quite convinced by you static site generator approach, it addressed all the questions I raised initially and it seems like a quite comprehensive solution with numerous improvements over the current setup, with additional customizability. That said, I'm not the best judge of maintenance and longevity aspects of that solution. One of the sticking points seemed to be the PR process. After thinking about it more, I think it could actually be a good thing to have more eyes on the updates, and content in general, on the wiki. I have a feeling it's kind of "back of mind" for most contributors. A review stage will only improve the content, and trivial changes are easy to approve. (Though having roles that can just immediately merge trivial changes would be helpful.) Also, what happens if we leave Discourse? Having full control over the wiki, with history, seems more robust (though with maintenance cost). |
Proposal
Move the SuperCollider Wiki from GitHub and use Sphinx to generate static site.
Motivation
A wiki is hopefully a permanent reference.
But in the history of SC, there has already been (at least?) one abandoned wiki that was migrated to the GitHub wiki, and while GitHub is a convenient place, it is not a place to support.
I therefore advocate, in support of #6114, to move the current wiki https://github.com/supercollider/supercollider/wiki to https://wiki.supercollider.online and making it a repository that creates a static website, which serves as the new wiki.
This would allow to take ownership of the wiki URL and be independent of the code hosting platform, making it a permanent location for the precious information.
This would also prepare the community/wiki in case GitHub needs to be evacuated.
Description of the proposed feature
I first thought about making a real wiki, but I think a static website is easier to maintain and has a longer lifespan.
A small wiki like SC should be suitable for a static site generator.
I decided to use Sphinx as a static website generator because it is an established tool and has a pretty stable API (compared to NodeJS based tools).
I also don't have a clue how to contribute to the existing wiki (fork the wiki-repo and do a PR?) as I don't have editor privileges, but making it a repo would allow anyone with access to git to edit it via a PR workflow.
Sphinx would also allow to create indices, references, glossary, build local tocs, provide a search and also verify that all internal links are working during build time.
The main advantages I see
Implementation plan
I cloned the existing wiki and converted it to a Sphinx website - this means that the history of most pages is untouched, preserving valuable git history (see https://github.com/capital-G/supercollider-wiki/blame/main/docs/contributing/workflow/Unit-Testing-Guide.md)
Repo: https://github.com/capital-G/supercollider-wiki
Website: https://capital-g.github.io/supercollider-wiki/
Currently hosted on GitHub pages - although this PR is motivated to evacuate GitHub, I think it is still okay to use their CI for now. The build step and serving of static content can easily be moved to e.g. GitLab.
I would be happy to take up some styling suggestions or commits, as this wiki would allow us to style and modify in such a way we want, and not how GitHub thinks it should be done.