diff --git a/docs/Docs.csproj b/docs/Docs.csproj index e338448..84b8fc8 100644 --- a/docs/Docs.csproj +++ b/docs/Docs.csproj @@ -31,7 +31,7 @@ - + diff --git a/docs/Program.cs b/docs/Program.cs index b973b44..8084c4f 100644 --- a/docs/Program.cs +++ b/docs/Program.cs @@ -22,6 +22,11 @@ namespace Docs .AddShortcode("Alert", typeof(AlertShortcode)) .AddShortcode("AsciiCast", typeof(AsciiCastShortcode)) .AddPipelines() + .AddProcess(ProcessTiming.Initialization, _ => new ProcessLauncher("npm", "install") + { + LogErrors = false + }) + .AddProcess(ProcessTiming.AfterExecution, "npm", "run", "build:tailwind") .RunAsync(); private static Config ConfigureEditLink() diff --git a/docs/README.md b/docs/README.md index c6a3fae..d4cd06a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ # Documentation -To start contributing to the [Spectre.Console](https://github.com/spectreconsole/spectre.console) documentation, you will need the [.NET Core SDK](https://dot.net) 3.1 or higher. +To start contributing to the [Spectre.Console](https://github.com/spectreconsole/spectre.console) documentation, you will need the [.NET Core SDK](https://dot.net) 5.0.202 or higher (as defined in the repository root `global.json` file). ## Running Preview Site @@ -10,15 +10,11 @@ The documentation site uses [Statiq](https://statiq.dev), a static site generato > Preview.ps1 ``` -After the build is complete, you can navigate to [http://localhost:5080/spectre.console](http://localhost:5080/spectre.console). +After the build is complete, you can navigate to [http://localhost:5080](http://localhost:5080). -**Note that the site runs under a virtual directory.** +## Npm -## Building the CSS - -The documentation uses tailwind for the CSS. Committed to the repository is a large 4gb file with all possible styles at `assets/style.css`. This file is generated from the root files tailwind.config.js and tailwind.css. Any changes to the overall design style (e.g. colors, markdown styling, etc) can be made in these two files. - - For production, `npm run build:tailwind` should be ran post Statiq build. This process will look at all the styles in the HTML and prune the tailwind file down to a much more manageable 30kb or so file. +The site uses some tools from the JavaScript ecosystem including npm. While Statiq will execute `npm install` and other commands as needed, you need to have [npm installed](https://www.npmjs.com/get-npm) before running a site build. ## Editing Content @@ -27,7 +23,7 @@ The documentation is written using [Markdown](https://www.markdownguide.org/basi Markdown files can be found under the following directories: - [/input](./input) - - [/appendix](./input/appendix) +- [/appendix](./input/appendix) ## Editing Layout diff --git a/docs/package.json b/docs/package.json index 02680c4..bdb4b85 100644 --- a/docs/package.json +++ b/docs/package.json @@ -4,7 +4,7 @@ "description": "Docs for Spectre.Console", "main": "index.js", "scripts": { - "build:tailwind": "tailwindcss build ./tailwind.css -o ./input/assets/styles.css", + "build:tailwind": "tailwindcss build ./tailwind.css -o ./output/assets/styles.css", "build": "cross-env NODE_ENV=production tailwind build tailwind.css -o ./output/assets/styles.css" }, "repository": {