sbrl / Pepperminty-Wiki

A wiki in a box
https://peppermint.mooncarrot.space/
Mozilla Public License 2.0
178 stars 20 forks source link

Refactor file download system to unpack from index.php #166

Closed sbrl closed 5 years ago

sbrl commented 5 years ago

Looks like this rework it more urgent than I thought. RawGit, the mechanism we use to download Parsedown, is shutting down in October this year. To this end, I'd like to move away from the current system of downloading files from RawGit to a system on unpacking from index.php and make a stable release before October 2019.

We should open a separate issue for this.

Originally posted by @sbrl in https://github.com/sbrl/Pepperminty-Wiki/issues/164#issuecomment-467588376

sbrl commented 5 years ago

We've implemented a cache system (and fixed a nasty bug in #165). Now that v0.18 is out, I think it's time to think about refactoring the downloading system to enable us to work on the server-side syntax highlighting.

It's probably worth noting that although this will allow us to bundle all sorts of extra files with Pepperminty Wiki, the intention here is to avoid using it except when we really need to. In other words, this won't be for packing multi-file modules etc - only for essential libraries that are needed to perform a function. Good examples of things include:

The intention here is to keep Pepperminty Wiki targeted at what it's good at: setting up a new small wiki really quickly - and avoid what we can't possibly hope to compete with (i.e. the full power of MediaWiki). Pepperminty Wiki is small, fast, and light. It's not without any bells and whistles though - we just need to be selective in the ones that we include :P

Originally posted on #164

sbrl commented 5 years ago

Refactor complete! We now have a packing system in place.

We should probably figure out some way of documenting how it works better, but a note in the changelog that points to some examples is enough for now I guess :P

Come to think of it, we could do with documenting register_module() much better than we currently have, but that's a separate issue.