Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
blog-engine-sac
Advanced tools
static site generator, that uses markdown files as input and outputs web pages
Free and open static site generator, that reads your input files and outputs web pages. My blog as an example
To support the project and have additional features consider the pro version. Open an issue or chat if interested. The pro version includes
Cost: 650€ per site a year
npm init
for examplenpm i blog-engine-sac
(may require sudo and --unsafe-perm=true --allow-root) "scripts": {
"sac": "node node_modules/blog-engine-sac/source/main.js inputFolder=."
},
npm run sac
Create a new file in the folder source/
. Supported file types:
A markdown file is a normal text file with .md
file extension. The name of the file is used as the name of the post.
Create a file in source/
. For example my-post.md or my-post.txt.
Create a simple post then create a meta file with the same base name. For example my-post.yaml. Meta files in the readme will be yaml, but they can be any format in the list:
coverImage: "post.jpg"
# set coverImage to false to disable it
title: "I am about to write a title"
description: "Description"
lang: en
author: "Author name or URL"
ready: true
indexed: true
listed: true
editLink: false
standalone: false
creationDate: 2018/02/15
modifiedDate: 2035/02/19
categories:
- cooking
- sports
- travel
tags:
- fun
- "874569111fe8"
translations: []
js: []
license: CC0-1.0
# comments
# commentsDisabled: false
set ready to false to not process them at all.
set indexed to false, to have it in the blog, but the index.html will not have a link to it and search will not find it. The only way to open it would be to know the exact URL.
set listed to false, to have it in the blog, but the index.html will not have a link to it. Unlisted posts can still be found with search or by knowing the URL. If indexed is false, then the listed option has no effect.
categories is a list of categories that your post will appear in. Categories are pages that list only post of that category. For example if you have "travel" inside categories inside blog-engine-sac settings, and travel as a category of the post, then the post will be listed on the travel category. Categories that are not in the blog settings categories will create a semi hidden category : a link from post to that category but unlisted on the index page.
tags is a list of keywords specifically to aid people using those keywords to search for the post and find it. They are hidden to humans and visible to search engines
Use it to mark posts as translations of another post. If we have the following files:
Geography.md
(in English)Géographie.md
(in French)Erdkunde.md
(in German)Use the following meta file to link them:
Geography.yaml
lang: en
translations:
- lang: fr
src: ./Géographie.md
- lang: de
src: ./Erdkunde.md
Each translation item may use any key value pair seen above (title, author, etc)
Should be a url or false. If it is an url, an edit link will be created for that post
One or multiple js files to be included with that page
If true the html output will not be decorated by the usual (header, footer, next, previous, etc)
If true the comments are disabled
This should reflect the canonical url for a post. If you are the author of your articles, set this to false. If you take an article from another blog and would like machines to know the original canonical url for the article, set this to the original article's url. By default the canonical url will be self, for local posts, and src for remote posts.
Create a file that describes where to find the external post. For example js-style-guide.yaml . Including a post from the web: Add a yaml file in source/
with src
set to the url.
src: 'https://raw.githubusercontent.com/GrosSacASac/JavaScript-Set-Up/master/js/red-javascript-style-guide/readme.md'
Another Example with this readme file:
src: 'https://gitlab.com/GrosSacASac/blog-engine-z/-/raw/master/README.md'
canonicalUrl: 'https://gitlab.com/GrosSacASac/blog-engine-z/-/blob/master/README.md'
lang: en
Content-Type: text/markdown
Create file blog-engine-sac.yaml
with
# put the final url of the website and uncomment
# url: https://example.com/
defaultLang: en
defaultAuthor: AUTHOR
mainTitle: Blog
tabTitle: "" # uses mainTitle if left empty
subTitle: Change title and subtitle in blog-engine-sac.yaml
defaultLicense: CC-BY-NC-4.0
htmlExtensionLinks: false
indexInBaseIndexLink: false # index link becomes just /
categories:
- tag: travel
"fr": voyages
- tag: dance
"fr": danse
Ideally defaultLicense is a SPDX identifier.
defaultLang is a 2 letter shorthand for the language (ISO 639-1).
htmlExtensionLinks: If true, links will have the ".html" extension. Default is false.
Change the values as you see fit.
categories are provided by the user as an array for the entire blog
for example: travel, cuisine, sports
Each category will have a dedicated index page that acts like the main index page but only lists post of that category. Posts will be in that category if they have a corresponding tag.
Create file source/about.md
.
Create file source/contact.md
.
Create file source/extras/footer.md
.
Open folder images
Replace the images with new ones but keep the exact filename to not break the links. (Images are linked from other files, not copied, the name of the files are used)
images/home.jpg
images/post.jpg
Add the following key-value pair in your site settings.
customCss: custom.css
Then create a folder named css
. Inside create a file custom.css
. Then copy inside custom.css
the first 2 rules found inside blog-engine-sac.css. These are some css variables easy to edit as a starting point.
A text format. Learn it here https://commonmark.org/help/
Don't remove, edit or add any other file unless you know exactly what you are doing!
are generated. Do not edit directly
Start Bootstrap - Clean Blog is a stylish, responsive blog theme for Bootstrap created by Start Bootstrap. This theme features a blog homepage, about page, contact page, and an example post page along with a working PHP contact form.
CC0 (Only for blog-engine-sac itself)
11.3.0
FAQs
static site generator, that uses markdown files as input and outputs web pages
The npm package blog-engine-sac receives a total of 123 weekly downloads. As such, blog-engine-sac popularity was classified as not popular.
We found that blog-engine-sac 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
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.