it-from-bit / metalsmith-geekwiki.io

Metalsmith project for geekwiki.io
http://geekwiki.io
2 stars 0 forks source link

GeekWiki Blog Generator

CONTENTS: What? | How? | Why? | Who? | ToDo List


About

What?

GeekWiki is a mostly statically generated blog. I say "mostly", because even though the blog itself operates without being directly dependent on a database, some of the content is still dynamically retrieved from external resources.

How?

Well.. Instead of relying on a database to hold the blog content, the articles are written in simple Markdown flavored syntax, and stored in the source directory of our blog repository.

Whenever a new article is published and merged into the master branch, the un-processed articles are processed and published to our geekwiki.github.io.git repository. This process will eventually be automated with some nifty AWS badassery.

The only elements of the blog that aren't static, would be the visitor related features, such as comments on articles, which will be accomplished via Facebooks API. Any other dynamic content will be queried from Githubs API.

Why?

Now hold on... I know what you're thinking... You're thinking:

Why on earth would one create a 'static' website that still utilizes 'dynamic' content?!

And the reason is that none of the dynamic content is critical for the blog to operate. Meaning if the API requests all fail, the blog itself would still operate, albeit shy of some article comments and changelogs. Where a blog thats completely reliant on a database wouldn't be able to serve any content (typically..)

Who?

Just a couple of badass geeks


ToDo List

We've moved our to-do list to "Issues" section instead. View them by clicking here


Other Stuff

Child Projects

Some of the dev tasks may not be possible (or at least reasonably accomplishable without ) with existing plugins - However, Metalsmith plugins are extremely easy to write, and can even be less than 10 lines of JS!


Data Utility

Description: A plugin used for converting common data serialization formats (json, yaml, xml, etc) as well as moving or renaming said files.

  1. metalsmith-to-json
  2. metalsmith-writemetadata
  3. metalsmith-renamer
  4. metalsmith-paths
  5. metalsmith-packagejson
  6. metalsmith-move-up
  7. metalsmith-move-remove
  8. metalsmith-json-to-files
  9. metalsmith-jekyll-dates
  10. metalsmith-transform
  11. metalsmith-elevate
  12. metalsmith-date-in-filename
  13. metalsmith-concat-convention (Maybe)
  14. metalsmith-copy

Article Changelog

Description: A plugin to keep track of what articles gets renamed to what, and something to generate a JSON file that can be loaded by metalsmith-rename, to redirect any old URL's to the new ones