Skip to content
DocPensieve
0.1.5

Installation

What you need

Node.js 22 or later. It is the only requirement. The generator runs at build time, not on the reader's side: nothing else to install on the server that will host the site, which only has to serve files.

Setting up a project

npx docpensieve init my-site
cd my-site

The command creates the folder and writes a configuration, a first documentation folder and a home page into it. It asks a few questions; --yes skips them and accepts the defaults. Where it cannot ask — a script, continuous integration, or a terminal that gives the programs it runs no interactive input — it says so and sticks to the options and the defaults.

It also installs this very documentation, in a DocPensieve section at the end of the new site's menu. It matches the version you installed, and its folder, 99-docpensieve, can be deleted as soon as you no longer need it; --minimal leaves it out. The configuration file lists every option, each with a comment, set to its default or given as an example.

npx docpensieve init my-site --yes --name "My documentation"
OptionEffect
-n, --name <name>Project name, shown in the header
-t, --theme <framework>tailwind or custom
-u, --site-url <url>Public URL, from which the deployment prefix is derived
--version-name <version>First version, 1.0 for instance
-y, --yesAccepts the defaults without a dialogue
-f, --forceOverwrites an existing configuration
--minimalLeaves DocPensieve's documentation out of the site

Installing it in a project

Through npx alone, the version used is the latest. To pin the one a project uses — what continuous integration needs — install it in the project:

npm init -y              # only when the folder has no package.json yet
npm install docpensieve
npx docpensieve init .

npm install only installs: it creates no site and asks nothing — init does. It also installs in the nearest folder that has a package.json, going up from the current one: in a folder without one, the package lands in a parent folder and nothing appears where you are. Hence npm init -y first. npx docpensieve then runs the installed copy.

init refuses to overwrite an existing configuration: you have to ask for it with --force. The refusal is deliberate — a configuration overwritten by mistake is only noticed at the next deployment.

Choosing the theme

tailwind is the default and installs Tailwind as a dependency. custom does without it entirely: the site is then styled by a stylesheet written in the package, with no styling dependency. Your own classes then go in the theme/ folder, which init starts with theme/custom.css.

Both are equivalent in use — the templates are the same, only the styling changes. The choice is not final: it fits in one field of the configuration, described in Themes.

Updating

npm install docpensieve@latest

Run through npx alone, DocPensieve needs nothing: npx docpensieve fetches the latest version by itself.

A project set up with 0.1.0 has a docpensieve.config.js. It still works, but Node reads it as a module only when the package.json says so, and warns on every build otherwise: rename it docpensieve.config.mjs.

The documentation init installed in 99-docpensieve stays at the version it came with. To refresh it, run init in a scratch folder and copy that folder over.

Checking

npx docpensieve build

If the output folder appears with an index.html inside, everything is in place. Next: First site.