All Projects → escherize → Bengine

escherize / Bengine

Licence: epl-1.0
A Simple Data-Driven static site generator

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to Bengine

minimal
Website and blog generator for Go, Node.js or Python
Stars: ✭ 94 (+176.47%)
Mutual labels:  static-site-generator, blog-engine
Bridgetown
A Webpack-aware, Ruby-powered static site generator for the modern Jamstack era
Stars: ✭ 317 (+832.35%)
Mutual labels:  static-site-generator, blog-engine
nera
A lightweight static site generator
Stars: ✭ 12 (-64.71%)
Mutual labels:  static-site-generator, blog-engine
wowchemy-hugo-themes
🔥 Hugo website builder, Hugo themes & Hugo CMS. No code, easily build with blocks! 创建在线课程,学术简历或初创网站。#OpenScience
Stars: ✭ 6,891 (+20167.65%)
Mutual labels:  static-site-generator, blog-engine
Wowchemy Hugo Modules
🔥 Hugo website builder, Hugo themes & Hugo CMS. No code, build with widgets! 创建在线课程,学术简历或初创网站。
Stars: ✭ 6,093 (+17820.59%)
Mutual labels:  static-site-generator, blog-engine
acblog
An open source extensible static & dynamic blog system. (an alternative tool with same features at StardustDL/paperead)
Stars: ✭ 60 (+76.47%)
Mutual labels:  static-site-generator, blog-engine
Middleman Blog
Middleman : Blog Engine Extension
Stars: ✭ 317 (+832.35%)
Mutual labels:  static-site-generator, blog-engine
Hyde
A Python Static Website Generator
Stars: ✭ 1,599 (+4602.94%)
Mutual labels:  static-site-generator, blog-engine
Assemble
Community
Stars: ✭ 3,995 (+11650%)
Mutual labels:  static-site-generator, blog-engine
Gostatic
Fast static site generator
Stars: ✭ 387 (+1038.24%)
Mutual labels:  static-site-generator, blog-engine
presta
Minimalist serverless framework for SSR, SSG, serverless APIs and more.
Stars: ✭ 89 (+161.76%)
Mutual labels:  static-site-generator, blog-engine
Nextein
A static site generator with markdown + react for Next.js
Stars: ✭ 825 (+2326.47%)
Mutual labels:  static-site-generator, blog-engine
Hugo
The world’s fastest framework for building websites.
Stars: ✭ 55,899 (+164308.82%)
Mutual labels:  static-site-generator, blog-engine
gisture
A minimal and flexible blog generator based on GitHub Gist.
Stars: ✭ 24 (-29.41%)
Mutual labels:  static-site-generator, blog-engine
Notablog
Generate a minimalistic blog from a Notion table. [WIP]
Stars: ✭ 177 (+420.59%)
Mutual labels:  static-site-generator, blog-engine
Verless
A simple and lightweight Static Site Generator.
Stars: ✭ 276 (+711.76%)
Mutual labels:  static-site-generator, blog-engine
Statiq.web
Statiq Web is a flexible static site generator written in .NET.
Stars: ✭ 1,358 (+3894.12%)
Mutual labels:  static-site-generator, blog-engine
Jekyll
🌐 Jekyll is a blog-aware static site generator in Ruby
Stars: ✭ 43,803 (+128732.35%)
Mutual labels:  static-site-generator, blog-engine
Vuepress
📝 Minimalistic Vue-powered static site generator
Stars: ✭ 19,730 (+57929.41%)
Mutual labels:  static-site-generator, blog-engine
Zola
A fast static site generator in a single binary with everything built-in. https://www.getzola.org
Stars: ✭ 7,823 (+22908.82%)
Mutual labels:  static-site-generator, blog-engine

Welcome to bengine!

Demo

The data oriented static site generator.

Why bengine?

This could be the most simple blog framework you can find.

Static site generators (take some meaty source material (usually text) in, and spit out a carefully crafted website.

With bengine, you will write easy, simple, and powerful tags for your thoughts to turn them into a killer blog.

No waiting around with bengine -- It's running on clojurescript on node, so re-renders are fast.

Origin story

I really wanted to use Matthew Butterick's amazing pollen to build a blog for myself. But I found nesting radcket's x-expressions too unweidly, and didn't want to learn how to make it work. Based on the advice of a friend, I decided to see if I could clone pollen's key ideas into a clojurescript-on-node based site generator.

Philosophy

There are not a lot of moving parts here, folks.

  1. Posts

Posts look like the hiccup style of html. Hiccup is not verbose and stays out of your way so you can think clearly.

Example:

[:article
 [:h1 "Welcome to Fight Club. ^_^"]
 "I hope you have a fantastic time! :)"
 "Glad you could join us today."]
  1. Tags

Posts can contain tags (a few are included). You are free to create any tag function you want in _tags/tags.cljs, and use it in your posts.

Example 1

In _tags/tags.cljs:

(defn heading [s] [:h1 s])

In one of your posts in _posts/any_post_name.edn:

(my/heading "Hello")

Compile your blog, and see:

"<h1>Hello</h1>"

Example 2

In your tags:

(defn rules [& rs]
       (into [:ol] (map #(vector :li %) rs)))

Then, in your post:

[:article
 [:h1 "Hey friend!"]
 (rules
  "The first rule of Fight Club is: you do not talk about Fight Club."
  "The second rule of Fight Club is: you DO NOT talk about Fight Club!"
  "Third rule of Fight Club: if someone yells “stop!”, goes limp, or taps out, the fight is over."
  "Fourth rule: only two guys to a fight. "
  "Fifth rule: one fight at a time, fellas."
  "Sixth rule: the fights are bare knuckle. No shirt, no shoes, no weapons."
  "Seventh rule: fights will go on as long as they have to."
  "And the eighth and final rule: if this is your first time at Fight Club, you have to fight.")]
  1. Templates (optional)

There are 2 templates that you can use to customize how posts and your index page look. They're in _tags/tags.cljs and called post-template and index-template respectively, and can be edited like any other tag.

Protip: don't remove those functions.

Prequisites

Node.js needs to be installed to run the application.

running in development mode

run the following command in the terminal to install NPM modules and start Figwheel:

lein build

run node in another terminal:

npm start

configuring the REPL

Once Figwheel and node are running, you can connect to the remote REPL at localhost:7000.

Type (cljs) in the REPL to connect to Figwheel ClojureScript REPL.

building the release version

lein package

Run the release version:

npm start
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].