Git Product home page Git Product logo

balrog's Introduction

Hello, there!

Link exchange with friends?:


Mu-An Chiou

balrog's People

Contributors

brianloveswords avatar hfiguiere avatar ionicabizau avatar jlord avatar pdehaan avatar reidab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

balrog's Issues

JSON the datas

Put all post metadata and content into JSON format because I think it will probably be useful for websitey things down the road.

Latest Post Crop Bug

When cropping the text from the latest post, if the character it cuts on is a part of a link (and I imagine other things) it breaks stuff.

So you should check first that it's not inside of a link... complicated!

Template Partials

Figure out how they work and implement them so that page layouts and common sections like headers and footers can be separate.

Generated Files Duplicated

When running balrog, HTML files are generated and written to both the outputDir and sourceDir (content/ and site/).

Plugable metadata parsers

So the original metadata parser works by convention: it expects the headers to represent title, author, date and tags in that specific order. This is super lightweight (implementation is only ~10 lines!) and awesome if your posts always conform to that.

However, for some of my stuff I wanted some finer control over what kinda metadata I can put into the doc. To that end, I wrote balrog-meta-htmlcomment to be able to declare metadata upfront in an HTML comment. This still allows the markdown files to be displayed directly (which would have been the issue with YAML frontmatter) but gives some better control.

We need to figure out a good way to declare which style of metadata parser to use. I'm thinking a couple of things:

  1. We could put something into config.json, like metadata: ('htmlcomment' | 'default')' or something like that.
  2. A new command on the balrog binary, balrog use meta-htmlcomment. This would also install the package if necessary.

I should also pull out/modularize the default parser.

Add HTML to Post Content Header

Right now Balrog reads and creates the metadata from the top four lines but leaves it in the general "content" of the post. Instead, wrap it in a class so that it's easier to style.

Option Pagination/Feed

Making doing a blog feed with pagination optional

Also make a missing pagination template mean blog feed is not paginated but shows all posts.

Reroute to /site directory

Build all the files into a /site directory and have requests point to that directory as the root.

  • This means I'll need to copy assets folder

Archives Page

Generate an Archives Page that is a list of post meta data, sorted by date.

Cleanup Function

A clean up function that runs at the end of everything and

  • moves the site/blog markdown files, for archiving, into site/blog/markdown
  • renames site/blog/page/0.html > site/blog/page/index.html
  • moves site/blog/page/index.html > site/blog/index.html
  • copies assests folder iss #14

It's also possible that some of these things could be built into other processes and not done in a 'cleanup' function.

Tags

Make archive page for tags, too.

Selecting template for blog feed

Is there something funky now that I've made 0.html > index.html and moved it out of the /pages directory?

When you define the template for blog feed pages you can still say /pages/* and it works, so somewhere in the code it probably is still setting /pages/ as the source for the blog feed. Maybe it's fiiiinnneee.

Just add headers to post

Currently pagination.js and generate-dir.js are both adding headers to each page/post... would be best to do this only once.

Case mistmatch

template has config.JSON, documentation say config.JSON but code look for config.json therefor it fails on Linux. The easiest would be to change the code IMHO.

Parse metadata

In an effort to keep the post markdown files pure, I'll need to parse the first four lines to pull out the posts metadata.

# Title
### Author
#### Date
##### the, tags

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.