GithubHelp home page GithubHelp logo

bss's Introduction

this is a work in progress!

bss - boring static site generator

A boring (and simple...) static site generator written in Perl with a little help from rsync.

Getting Started

bss reads manifest.ini for its configuration options:

[build]
src=/the/path/to/your/site/src/
dest=/home/you/websites/_site/
templates=src/templates
collections=posts
exclude=*.md,*.markdown,templates,junk
encoding=UTF-8
evaluate perl=0 # use perl false boolen value; this only works on template files
[server]
port=8090

Pages begin (as in Jekyll) with a YAML "front matter" block:

---
title: Nine Stories
layout: default 
    author: J.D. Salinger 
---
	A Perfect Day for Bananafish wherein Seymour ends his own life.

Template file types can be any of: .tmpl, .template, .html, .tt, .tt2.

See: http://www.template-toolkit.org/index.html

One can define partials and such for use in templates or layouts or what have you:

[% footer = 'partials/footer.tt' %]
[% INCLUDE $footer %]

A simple web server is included but one would be wise in using it only for local development purposes. Ensure the BSS_DOCROOT ENV var is set.

An example:

$ BSS_DOCROOT=/path/to/your/_site bss build --server
# otherwise defaults to "_site"

build with nix

$ nix build --extra-experimental-features nix-command --extra-experimental-features flakes

# this will place bss in your nix profile so it's "installed" in a sense. This is the replacement for nix-env

$ nix profile --extra-experimental-features nix-command --extra-experimental-features flakes install

# or just
$ nix build
# and copy the result/bin/bss to run/wrappers/bin
# this won't survive a reboot.

FIXME

  • [] Handle removing YAML block correctly
  • [] short flags so we can do -v and -s for verbose and server

bss's People

Contributors

rjpcasalino avatar

Watchers

 avatar  avatar

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.