Skip to content
DocPensieve
0.3.0-beta.1

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.

Coming from the 0.2, Migrate from latest to beta says what changes on its own and what to check first. To try this beta, install docpensieve@beta, or run npx docpensieve@beta alone.

Checking

npx docpensieve build

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