
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
beulogue [\bøloɡ\]: french for blog.
An almost configuration-less static blog generator.
Requires node >= 6 ! (ES6 inside !).
npm install -g beulogue
You can also
yarn global add beulogue
You can now run beulogue
. Enjoy !
The available command-line flags are:
base
: set the remote host (http://whatever.com) for sitemap.xml generationrss-title
: set the title for the rss feedrss-description
: set the description for the rss feedhelp
: to get some help about the commandsuninstall
: remove beulogue :'(version
: to get beulogue versionA few things:
This is the structure used to generate your site:
my-site/
posts/ (your posts)
assets/ (your images...)
shy-blatter-cat.jpg
2015-10-27-foo.md
2015-11-02-first.md
2015-11-03-shit-happens.md
about-me.md
templates/
base.ejs (the base template)
home.ejs (the home page template)
post.ejs (the template for the body)
posts/assets
foldertemplates/home.html
.posts
foldertemplates/post.html
.So from the folder my-site
, run:
beulogue
The site will be in the output
folder.
Learn about markdown here.
beulogue uses front-matter. All front-matter data is available in the templates under the attributes
variable.
It allows you to add, for example:
title
author
date
Please note that these value are not mandatory ! For example, the title will be, in order:
There are more options !
You can use the following options:
draft: true
to tell beulogue that a page is a draft.static: true
to tell beulogue that a page is a static page.urlpath: my simple title
: if your title is too long, you can use this to create a nicer urldraft
and static
currently have the same effect (the html is rendered but not added to the navigation).
beulogue
now comes with tag support.
Use your markdown front matter to add them:
---
title: Wow, much tags !
date: 2015-12-21
tags: news, release
---
# Release 3.4.0
- Add tags support !
And beulogue will generate the following pages:
news.html
release.html
With the link to related posts.
Don't forget to create the tag.html
template ;-)
beulogue uses ejs.
You have access to another variable: attributes
(it comes from your markdown front matter).
beulogue can generate your rss.xml file, which will be at the root of your output folder.
Calling beulogue with the base
, rss-title
and rss-description
flags is mandatory to generate the sitemap (eg. beulogue base=http://my-site
).
beulogue creates something like this:
<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ehret.me</title>
<description>Hi! I am Siegfried. I am a developer. I like burgers. I'm curious and I love the open web.</description>
<link>https://ehret.me</link>
<item>
<title>ng-semver</title>
<guid>https://ehret.me/ng-semver.html</guid>
<link>https://ehret.me/ng-semver.html</link>
<pubDate>Thu, 15 Dec 2016 00:00:00 GMT</pubDate>
</item>
</channel>
</rss>
where each item element represents one of your blog posts.
RSS generation uses the following front-matter elements to populate items:
title
: the title of the postdescription
: the description of the postauthor
: the author of the postbeulogue can generate your sitemap.xml file, which will be at the root of your output folder.
Calling beulogue with the base
flag is mandatory to generate the sitemap (eg. beulogue base=http://my-site
).
beulogue creates something like this:
<?xml version="1.0"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
<url>
<loc>http://ehret.me/to-2016-and-beyond.html</loc>
<lastmod>2016-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
where each url element represents one of your blog posts.
Each url has default values for its children elements:
Provides the full URL of the page or sitemap, including the protocol (e.g. http, https) and a trailing slash, if required by the site's hosting server.
The base
flag is used. The resulting value is /<post.filename>.
The date that the file was last modified, in ISO 8601 format.
You can use front-matter in your posts:
sitemapLastmod
if presentdate
(used in blog posts) otherwiseHow frequently the page may change:
You can use front-matter in your posts:
sitemapChangefreq
: with the value you wantThe priority of that URL relative to other URLs on the site.
You can use front-matter in your posts:
sitemapPriority
: with the value you wantNeed something? Create an issue !
Ideas:
beulogue was using semantic versioning in its early days.
Since semver does not mean anything to a lot of people, I decided to abandon it and use the Fibonnacci Versioning (FibVer).
FibVer is still making its way in my head, this may change.
Basically, it is like semantic versioning, using a MAJOR.MINOR.PATCH pattern, except that:
x.x.0
patchless program.MIT © Siegfried Ehret
FAQs
A static blog builder
We found that beulogue demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.