Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@amoutonbrady/sbg
Advanced tools
Minimal, experimental & opinionated static blog generator
Add sbg
to your local dependencies
yarn add @amoutonbrady/sbg
When you are ready to build your thing just run teh following command from thr root
of your project
yarn sbg
or npx sbg
You can also create an npm script that runs it for you
// package.json
{
...,
"scripts": {
"build": "sbg"
}
}
And run yarn build
or npm run build
The build will automatically create a dist folder with everything routed for a static host.
Additionnally, it will also provide a service worker to make the website work offline and please the search engine with an okay-ish Lighthouse score.
├───assets
├───layouts
├───pages
└───posts
assets
: contains all the images (we don't care about CSS or JS)layouts
: contains the layouts, see the different layouts belowpages
: each html file will represent a page (eg: blog.html will turn into /blog/index.html). The posts
param will be auto-injectedposts
: contains your posts content. The title of the file will be the slugAll layout file have to be in the layouts
folder.
Layouts are just nunjucks templates. You can extends and do all sort of things with it.
Any data defined in the front matter markdown files will be injected in the corresponding layout. First it will be be parsed by gray-matter, then compiled to html via marked. All code will be automatically highlighted by shiki.
The content
variable is the compiled markdown.
List of supported template files:
Name | Available variables |
---|---|
post.html | _ content : markdown content as html_ createdAt : creation date (js date) of the markdown file_ updatedAt : last modified date (js date) of the markdown file_ url : relative url of the blog post* Any other data defined in the front matter of the markdown file |
More to come as the project needs it.
List of variables injected into each page:
posts
: List of posts which an array of object containing the same data as the post.html
template minus the content
one.If a config.js
is at the root of the directory, it will be resolved and used.
Its needs to default export a configuration object.
For the moment only the filters
key work. It is an array of filters for njk templates.
pages
variable in the pages files to be able to make a navigationFAQs
CLI to make the easiest static blogs
The npm package @amoutonbrady/sbg receives a total of 3 weekly downloads. As such, @amoutonbrady/sbg popularity was classified as not popular.
We found that @amoutonbrady/sbg 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
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.