InnerSourceCommons / archive.innersourcecommons.org

The old version of the ISC site
Creative Commons Attribution Share Alike 4.0 International
40 stars 29 forks source link

Self host articles #159

Closed tsadler1988 closed 4 years ago

tsadler1988 commented 4 years ago

Proof of concept for https://github.com/InnerSourceCommons/InnerSourceLearningPath/issues/224.

Screenshot: image

Approach:

Issues/questions:

lenucksi commented 4 years ago

Thanks @tsadler1988 this is great! :D I also like the approach of bypassing intermediate products using asciidoctor.js.

Issues/questions:

  • Is raw GitHub appropriate for this? Tried using https://gitcdn.link/ but it appears to be having issues. Alternatively, could we publish from InnerSourceLearningPath to a CDN or similar ourselves?

I think GitHub should be ok with that sort of load in its current state. They do GitHub pages too which, maybe we can leverage that too. Maybe @jonico might be able to help us out with a bit of advice and the opinion of GitHub here.

  • Navigating between articles is done via a manually generated table. Suspect there's a better way.

Maybe the structure (or an extension of it) in https://github.com/InnerSourceCommons/InnerSourceLearningPath/blob/master/config/urls.yaml could help us here?

Yes please. @rrrutledge surely would appreciate that after having invested the effort to create this in the first place :)

jonico commented 4 years ago

Maybe @jonico might be able to help us out with a bit of advice and the opinion of GitHub here.

GitHub Pages is backed by a CDN and is GitHub’s recommend way to play out content (which could be mirrored from another source).

jonico commented 4 years ago

Navigating between articles is done via a manually generated table. Suspect there's a better way.

There are GitHub Actions to both generate a TOC as well as to publish any material on GitHub Pages. Public repos have no hard cap on Action minutes.

tsadler1988 commented 4 years ago

Thanks @jonico. I guess that would mean creating gh-pages for https://github.com/InnerSourceCommons/InnerSourceLearningPath/, and importing fragments hosted there into here? Unless there's some other way to share gh-pages assets across projects?

That might help with some of the other issues e.g. accessibility too...

jonico commented 4 years ago

Thanks @jonico. I guess that would mean creating gh-pages for https://github.com/InnerSourceCommons/InnerSourceLearningPath/, and importing fragments hosted there into here? Unless there's some other way to share gh-pages assets across projects?

That might help with some of the other issues e.g. accessibility too...

You could use submodules (https://help.github.com/en/github/working-with-github-pages/using-submodules-with-github-pages), but the GitHub Actions approach is probably less complicated.

tsadler1988 commented 4 years ago

Discussed in the Learning Path weekly call. We are happy to use this approach for an MVP, so I will finish what I've started including addressing comments raised (thanks everyone for the comments!).

Follow up tasks:

tsadler1988 commented 4 years ago

Implemented @rrrutledge's previous/next suggestion at the bottom of the page.

image

tsadler1988 commented 4 years ago

Think this is ready to merge now, pending review of my latest commits (thanks in advance!).