mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-04-26 19:37:36 +00:00
Merge pull request #1538 from snoweuph/docs
docs: update ndg and fix linkcheck
This commit is contained in:
commit
35a64b0c64
15 changed files with 69 additions and 130 deletions
1
.github/workflows/check.yml
vendored
1
.github/workflows/check.yml
vendored
|
|
@ -127,7 +127,6 @@ jobs:
|
||||||
flake-docs-linkcheck:
|
flake-docs-linkcheck:
|
||||||
name: "Validate hyperlinks in documentation sources"
|
name: "Validate hyperlinks in documentation sources"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: false # disabled until we fix ndg docs
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v6
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@
|
||||||
|
|
||||||
# Generate the HTML manual pages
|
# Generate the HTML manual pages
|
||||||
html = pkgs.callPackage ./manual.nix {
|
html = pkgs.callPackage ./manual.nix {
|
||||||
inherit inputs release;
|
inherit inputs;
|
||||||
inherit (nvimModuleDocs) optionsJSON;
|
inherit (nvimModuleDocs) optionsJSON;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
|
||||||
|
|
@ -2,43 +2,57 @@
|
||||||
inputs,
|
inputs,
|
||||||
path,
|
path,
|
||||||
stdenvNoCC,
|
stdenvNoCC,
|
||||||
runCommandLocal,
|
|
||||||
optionsJSON,
|
optionsJSON,
|
||||||
release,
|
jaq,
|
||||||
} @ args: let
|
} @ args: let
|
||||||
manual-release = args.release or "unstable";
|
manual-release = args.release or "unstable";
|
||||||
in
|
in
|
||||||
runCommandLocal "nvf-docs-html" {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
pname = "nvf-docs-html";
|
||||||
|
version = manual-release;
|
||||||
|
src = ./manual;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
(inputs.ndg.packages.${stdenvNoCC.system}.ndg.overrideAttrs
|
(inputs.ndg.packages.${stdenvNoCC.system}.ndg.overrideAttrs {
|
||||||
{
|
# FIXME: the tests take too long to build
|
||||||
# FIXME: the tests take too long to build
|
doCheck = false;
|
||||||
doCheck = false;
|
})
|
||||||
})
|
jaq
|
||||||
];
|
];
|
||||||
} ''
|
|
||||||
mkdir -p $out/share/doc
|
|
||||||
|
|
||||||
# Copy the markdown sources to be processed by ndg. This is not
|
patchPhase = ''
|
||||||
# strictly necessary, but allows us to modify the Markdown sources
|
# Replace variables following the @VARIABLE@ style in the manual
|
||||||
# as we see fit.
|
# pages. This can be built into ndg at a later date.
|
||||||
cp -rvf ${./manual} ./manual
|
substituteInPlace index.md \
|
||||||
|
--subst-var-by NVF_VERSION ${finalAttrs.version}
|
||||||
|
|
||||||
# Replace variables following the @VARIABLE@ style in the manual
|
language_options=$(cat "${optionsJSON}/share/doc/nixos/options.json" | jaq -r 'keys
|
||||||
# pages. This can be built into ndg at a later date.
|
| map(select(test("^vim\\.languages\\.[^.]+\\.enable$")))
|
||||||
substituteInPlace ./manual/index.md \
|
| map("- {option}`" + . + "`")
|
||||||
--subst-var-by NVF_VERSION ${manual-release}
|
| join("\n")'
|
||||||
|
)
|
||||||
|
|
||||||
# Generate the final manual from a set of parameters. This uses
|
substituteInPlace configuring/languages.md \
|
||||||
# feel-co/ndg to render the web manual.
|
--subst-var-by NVF_LANGUAGES_ENABLE "$language_options"
|
||||||
ndg --config-file ${./ndg.toml} html \
|
'';
|
||||||
--jobs $NIX_BUILD_CORES --title "NVF" \
|
|
||||||
--module-options ${optionsJSON}/share/doc/nixos/options.json \
|
|
||||||
--manpage-urls ${path}/doc/manpage-urls.json \
|
|
||||||
--input-dir ./manual \
|
|
||||||
--output-dir "$out/share/doc"
|
|
||||||
|
|
||||||
# Hydra support. Probably not necessary.
|
buildPhase = ''
|
||||||
mkdir -p $out/nix-support/
|
# Generate the final manual from a set of parameters. This uses
|
||||||
echo "doc manual $dest index.html" >> $out/nix-support/hydra-build-products
|
# feel-co/ndg to render the web manual.
|
||||||
''
|
ndg --config-file ${./ndg.toml} html \
|
||||||
|
--jobs $NIX_BUILD_CORES --title "NVF" \
|
||||||
|
--module-options ${optionsJSON}/share/doc/nixos/options.json \
|
||||||
|
--manpage-urls ${path}/doc/manpage-urls.json \
|
||||||
|
--input-dir . \
|
||||||
|
--output-dir build
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/doc
|
||||||
|
cp -r build/* $out/share/doc/
|
||||||
|
|
||||||
|
# Hydra support. Probably not necessary.
|
||||||
|
mkdir -p $out/nix-support/
|
||||||
|
echo "doc manual $out/share/doc index.html" >> $out/nix-support/hydra-build-products
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
|
|
||||||
|
|
@ -6,85 +6,7 @@ formatters, and `nvim-lint` linter integration. This gets you capabilities
|
||||||
ranging from autocompletion to formatting to diagnostics. The following
|
ranging from autocompletion to formatting to diagnostics. The following
|
||||||
languages have sections under the `vim.languages` attribute.
|
languages have sections under the `vim.languages` attribute.
|
||||||
|
|
||||||
- Rust:
|
@NVF_LANGUAGES_ENABLE@
|
||||||
[vim.languages.rust.enable](./options.html#option-vim-languages-rust-enable)
|
|
||||||
- Nix:
|
|
||||||
[vim.languages.nix.enable](./options.html#option-vim-languages-nix-enable)
|
|
||||||
- SQL:
|
|
||||||
[vim.languages.sql.enable](./options.html#option-vim-languages-sql-enable)
|
|
||||||
- C/C++:
|
|
||||||
[vim.languages.clang.enable](./options.html#option-vim-languages-clang-enable)
|
|
||||||
- Typescript/Javascript:
|
|
||||||
[vim.languages.ts.enable](./options.html#option-vim-languages-ts-enable)
|
|
||||||
- Python:
|
|
||||||
[vim.languages.python.enable](./options.html#option-vim-languages-python-enable):
|
|
||||||
- Zig:
|
|
||||||
[vim.languages.zig.enable](./options.html#option-vim-languages-zig-enable)
|
|
||||||
- Markdown:
|
|
||||||
[vim.languages.markdown.enable](./options.html#option-vim-languages-markdown-enable)
|
|
||||||
- HTML:
|
|
||||||
[vim.languages.html.enable](./options.html#option-vim-languages-html-enable)
|
|
||||||
- Dart:
|
|
||||||
[vim.languages.dart.enable](./options.html#option-vim-languages-dart-enable)
|
|
||||||
- Go: [vim.languages.go.enable](./options.html#option-vim-languages-go-enable)
|
|
||||||
- Lua:
|
|
||||||
[vim.languages.lua.enable](./options.html#option-vim-languages-lua-enable)
|
|
||||||
- PHP:
|
|
||||||
[vim.languages.php.enable](./options.html#option-vim-languages-php-enable)
|
|
||||||
- F#:
|
|
||||||
[vim.languages.fsharp.enable](./options.html#option-vim-languages-fsharp-enable)
|
|
||||||
- Assembly:
|
|
||||||
[vim.languages.assembly.enable](./options.html#option-vim-languages-assembly-enable)
|
|
||||||
- Astro:
|
|
||||||
[vim.languages.astro.enable](./options.html#option-vim-languages-astro-enable)
|
|
||||||
- Bash:
|
|
||||||
[vim.languages.bash.enable](./options.html#option-vim-languages-bash-enable)
|
|
||||||
- Clang:
|
|
||||||
[vim.languages.clang.enable](./options.html#option-vim-languages-clang-enable)
|
|
||||||
- Clojure:
|
|
||||||
[vim.languages.clojure.enable](./options.html#option-vim-languages-clojure-enable)
|
|
||||||
- C#:
|
|
||||||
[vim.languages.csharp.enable](./options.html#option-vim-languages-csharp-enable)
|
|
||||||
- CSS:
|
|
||||||
[vim.languages.css.enable](./options.html#option-vim-languages-css-enable)
|
|
||||||
- CUE:
|
|
||||||
[vim.languages.cue.enable](./options.html#option-vim-languages-cue-enable)
|
|
||||||
- Elixir:
|
|
||||||
[vim.languages.elixir.enable](./options.html#option-vim-languages-elixir-enable)
|
|
||||||
- Gleam:
|
|
||||||
[vim.languages.gleam.enable](./options.html#option-vim-languages-gleam-enable)
|
|
||||||
- HCL:
|
|
||||||
[vim.languages.hcl.enable](./options.html#option-vim-languages-hcl-enable)
|
|
||||||
- Helm:
|
|
||||||
[vim.languages.helm.enable](./options.html#option-vim-languages-helm-enable)
|
|
||||||
- Julia:
|
|
||||||
[vim.languages.julia.enable](./options.html#option-vim-languages-julia-enable)
|
|
||||||
- Kotlin:
|
|
||||||
[vim.languages.kotlin.enable](./options.html#option-vim-languages-kotlin-enable)
|
|
||||||
- Nim:
|
|
||||||
[vim.languages.nim.enable](./options.html#option-vim-languages-nim-enable)
|
|
||||||
- Nu: [vim.languages.nu.enable](./options.html#option-vim-languages-nu-enable)
|
|
||||||
- OCaml:
|
|
||||||
[vim.languages.ocaml.enable](./options.html#option-vim-languages-ocaml-enable)
|
|
||||||
- Odin:
|
|
||||||
[vim.languages.odin.enable](./options.html#option-vim-languages-odin-enable)
|
|
||||||
- R: [vim.languages.r.enable](./options.html#option-vim-languages-r-enable)
|
|
||||||
- Ruby:
|
|
||||||
[vim.languages.ruby.enable](./options.html#option-vim-languages-ruby-enable)
|
|
||||||
- Scala:
|
|
||||||
[vim.languages.scala.enable](./options.html#option-vim-languages-scala-enable)
|
|
||||||
- Svelte:
|
|
||||||
[vim.languages.svelte.enable](./options.html#option-vim-languages-svelte-enable)
|
|
||||||
- Terraform:
|
|
||||||
[vim.languages.terraform.enable](./options.html#option-vim-languages-terraform-enable)
|
|
||||||
- Typst:
|
|
||||||
[vim.languages.typst.enable](./options.html#option-vim-languages-typst-enable)
|
|
||||||
- Vala:
|
|
||||||
[vim.languages.vala.enable](./options.html#option-vim-languages-vala-enable)
|
|
||||||
- WGSL:
|
|
||||||
[vim.languages.wgsl.enable](./options.html#option-vim-languages-wgsl-enable)
|
|
||||||
- YAML:
|
|
||||||
[vim.languages.yaml.enable](./options.html#option-vim-languages-yaml-enable)
|
|
||||||
|
|
||||||
Adding support for more languages, and improving support for existing ones are
|
Adding support for more languages, and improving support for existing ones are
|
||||||
great places where you can contribute with a PR.
|
great places where you can contribute with a PR.
|
||||||
|
|
|
||||||
|
|
@ -717,7 +717,7 @@ require('lz.n').load({
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
[`vim.lazy.plugins` spec]: ./options.html#option-vim-lazy-plugins
|
[`vim.lazy.plugins` spec]: ./options.html#option-vim.lazy.plugins
|
||||||
|
|
||||||
A full list of options can be found in the [`vim.lazy.plugins` spec] on the
|
A full list of options can be found in the [`vim.lazy.plugins` spec] on the
|
||||||
rendered manual.
|
rendered manual.
|
||||||
|
|
@ -750,7 +750,7 @@ keybinding can look like this:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
[module option documentation]: options.html#option-vim-keymaps
|
[module option documentation]: options.html#option-vim.keymaps
|
||||||
|
|
||||||
There are many other settings available in the keymap module. Please refer to
|
There are many other settings available in the keymap module. Please refer to
|
||||||
the [module option documentation] for a full and up-to-date list of them.
|
the [module option documentation] for a full and up-to-date list of them.
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ configure **nvf**.
|
||||||
|
|
||||||
**nvf** exposes a lot of options, most of which are not referenced in the
|
**nvf** exposes a lot of options, most of which are not referenced in the
|
||||||
installation sections of the manual. You may find all available options in the
|
installation sections of the manual. You may find all available options in the
|
||||||
[appendix](https://notashelf.github.io/nvf/options)
|
[appendix](https://notashelf.github.io/nvf/options.html)
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ configure **nvf**.
|
||||||
|
|
||||||
**nvf** exposes a lot of options, most of which are not referenced in the
|
**nvf** exposes a lot of options, most of which are not referenced in the
|
||||||
installation sections of the manual. You may find all available options in the
|
installation sections of the manual. You may find all available options in the
|
||||||
[appendix](https://notashelf.github.io/nvf/options)
|
[appendix](https://notashelf.github.io/nvf/options.html)
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ DAG implementation are from them.
|
||||||
longer defined. If you use hare and would like it added back, please file an
|
longer defined. If you use hare and would like it added back, please file an
|
||||||
issue.
|
issue.
|
||||||
|
|
||||||
- {option}`vim.startPlugins` & {option} `vim-optPlugins` are now an enum of
|
- {option}`vim.startPlugins` & {option}`vim.optPlugins` are now an enum of
|
||||||
`string` for options sourced from the flake inputs. Users can still provide
|
`string` for options sourced from the flake inputs. Users can still provide
|
||||||
vim plugin packages.
|
vim plugin packages.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap =
|
||||||
and also has been removed.
|
and also has been removed.
|
||||||
|
|
||||||
- `which-key.nvim` categories can now be customized through
|
- `which-key.nvim` categories can now be customized through
|
||||||
[vim.binds.whichKey.register](./options.html#option-vim-binds-whichKey-register)
|
{option}`vim.binds.whichKey.register`
|
||||||
|
|
||||||
- Added `magick` to `vim.luaPackages` for `image.nvim`.
|
- Added `magick` to `vim.luaPackages` for `image.nvim`.
|
||||||
|
|
||||||
|
|
@ -125,10 +125,9 @@ vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap =
|
||||||
|
|
||||||
- Lualine module now allows customizing `always_divide_middle`, `ignore_focus`
|
- Lualine module now allows customizing `always_divide_middle`, `ignore_focus`
|
||||||
and `disabled_filetypes` through the new options:
|
and `disabled_filetypes` through the new options:
|
||||||
[vim.statusline.lualine.alwaysDivideMiddle](./options.html#option-vim-statusline-lualine-alwaysDivideMiddle),
|
{option}`vim.statusline.lualine.alwaysDivideMiddle`,
|
||||||
[vim.statusline.lualine.ignoreFocus](./options.html#option-vim-statusline-lualine-ignoreFocus)
|
{option}`vim.statusline.lualine.ignoreFocus` and
|
||||||
and
|
{option}`vim.statusline.lualine.disabledFiletypes`).
|
||||||
[vim.statusline.lualine.disabledFiletypes](./options.html#option-vim-statusline-lualine-disabledFiletypes).
|
|
||||||
|
|
||||||
- Updated all plugin inputs to their latest versions (**21.04.2024**) - this
|
- Updated all plugin inputs to their latest versions (**21.04.2024**) - this
|
||||||
brought minor color changes to the Catppuccin theme.
|
brought minor color changes to the Catppuccin theme.
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
|
|
||||||
- Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager.
|
- Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager.
|
||||||
|
|
||||||
- Add {option}`vim.autocmds` and {option}`vim-augroups` to allow declaring
|
- Add {option}`vim.autocmds` and {option}`vim.augroups` to allow declaring
|
||||||
autocommands via Nix.
|
autocommands via Nix.
|
||||||
|
|
||||||
- Fix plugin `setupOpts` for yanky.nvim and assert if shada is configured as a
|
- Fix plugin `setupOpts` for yanky.nvim and assert if shada is configured as a
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ startup.
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
[`vim.extraPlugins`]: ./options.html#option-vim-extraPlugins
|
[`vim.extraPlugins`]: ./options.html#option-vim.extraPlugins
|
||||||
|
|
||||||
This will fetch aerial.nvim from nixpkgs, and add it to Neovim's runtime path to
|
This will fetch aerial.nvim from nixpkgs, and add it to Neovim's runtime path to
|
||||||
be loaded manually. Although for plugins that require manual setup, you are
|
be loaded manually. Although for plugins that require manual setup, you are
|
||||||
|
|
|
||||||
6
flake.lock
generated
6
flake.lock
generated
|
|
@ -58,11 +58,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768214250,
|
"lastModified": 1776882296,
|
||||||
"narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=",
|
"narHash": "sha256-DWZozXwMsgvUqfVlL1mQ8dOxW7GJ/8CdyaDN+1niZRg=",
|
||||||
"owner": "feel-co",
|
"owner": "feel-co",
|
||||||
"repo": "ndg",
|
"repo": "ndg",
|
||||||
"rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8",
|
"rev": "ab7d78d4884b3a34968cf9fa3d16c0c1246d5c6e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -74,11 +74,16 @@
|
||||||
inherit site;
|
inherit site;
|
||||||
|
|
||||||
remap = {
|
remap = {
|
||||||
"https://notashelf.github.io/nvf/" = site;
|
"https://notashelf.github.io/nvf/" = "${site}/share/doc/";
|
||||||
|
"https://nvf.notashelf.dev/" = "${site}/share/doc/";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
exclude = [];
|
exclude = [
|
||||||
|
# This is not an email, but just part of an SCM query inside a nix code block.
|
||||||
|
# The leading escaped non breaking space is there on purpose.
|
||||||
|
"%C2%A0@injection.content"
|
||||||
|
];
|
||||||
include_mail = true;
|
include_mail = true;
|
||||||
include_verbatim = true;
|
include_verbatim = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ in {
|
||||||
|
|
||||||
To add your own language files, you may place your `spell` directory in either
|
To add your own language files, you may place your `spell` directory in either
|
||||||
{file}`$XDG_CONFIG_HOME/nvf` or in a path that is included in the
|
{file}`$XDG_CONFIG_HOME/nvf` or in a path that is included in the
|
||||||
[additionalRuntimePaths](./options.html#option-vim-additionalRuntimePaths) list provided by nvf.
|
{option}`vim.additionalRuntimePaths` list provided by nvf.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -284,7 +284,7 @@ in {
|
||||||
default = "";
|
default = "";
|
||||||
defaultText = literalMD ''
|
defaultText = literalMD ''
|
||||||
By default, this option will **append** paths in
|
By default, this option will **append** paths in
|
||||||
{option}`vim-additionalRuntimePaths`
|
{option}`vim.additionalRuntimePaths`
|
||||||
to the `runtimepath` and enable the experimental Lua module loader
|
to the `runtimepath` and enable the experimental Lua module loader
|
||||||
if {option}`vim.enableLuaLoader` is set to true.
|
if {option}`vim.enableLuaLoader` is set to true.
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue