more lix doc improvements

This commit is contained in:
Pyrox 2024-07-21 01:06:27 -04:00
parent 08305f7d57
commit 2453d2f8e2
Signed by untrusted user: pyrox
GPG key ID: 8CDF3F7CAA53A0F5
3 changed files with 110 additions and 2 deletions

1
.gitignore vendored
View file

@ -7,3 +7,4 @@ docs
mkdocs-hooks/__pycache__ mkdocs-hooks/__pycache__
public public
result-doc result-doc
deploy.sh

View file

@ -1 +1,108 @@
{ pkgs, ... }: pkgs.lix-docs {
lix-docs,
stdenv,
vim,
perl,
...
}:
let
f = "find . -type f -exec";
s = "${f} sed -i";
in
stdenv.mkDerivation {
inherit (lix-docs) pname version;
src = lix-docs.src;
nativeBuildInputs = [
vim
perl
];
installPhase = ''
defaultFix() {
sed -i '1,2d' $0
sed -i '1s/ - /\n\n/' $0
sed -i '1s/^/# /' $0
sed -i '3s/\w/\u&/' $0
sed -i '3s/$/\./' $0
}
export -f defaultFix
mkdir $out
cp -r ${lix-docs.doc}/manualMD/* $out
chmod -R +w $out
pushd $out
mv introduction.md index.md
mv advanced-topics/advanced-topics.md advanced-topics/index.md
mv advanced-topics Advanced-Topics
mv architecture/architecture.md architecture/index.md
mv command-ref Command-Reference
pushd Command-Reference
mv command-ref.md index.md
mv files.md files/index.md
mv nix-env.md nix-env/index.md
mv nix-store.md nix-store/index.md
# Fixup all Nix3(aka new cli) commands
pushd new-cli
${s} '6,7d' {} \;
${s} '6s/ - /\n\n/' {} \;
${s} '6s/^/# /' {} \;
${s} '8s/\w/\u&/' {} \;
${s} '8s/$/\./' {} \;
${f} ex -c '1,5m9' -c w -c q {} \;
popd
mv new-cli New-CLI
# Fixup all non-nix3 commands
find . -type f -name "nix-*.md" -exec bash -c 'defaultFix "$0"' {} \;
# Fixup nix-store
pushd nix-store
find . -type f -name "*.md" -exec bash -c 'defaultFix "$0"' {} \;
sed -i 's!\./nix-store!\./!g' index.md
popd
# Fixup Nix-env
pushd nix-env
find . -type f -name "*.md" -exec bash -c 'defaultFix "$0"' {} \;
sed -i 's!\./nix-env!\./!g' index.md
popd
popd
# Contributing directory
pushd contributing
mv contributing.md index.md
ex -c '1,9m11' -c w -c q experimental-features.md
sed -i 's!^## \[\(.*\)\]!## \1 !g' experimental-features.md
popd
# Final directories
mv installation/installation.md installation/index.md
mv package-management/package-management.md package-management/index.md
mv package-management Package-Management
mv protocols/protocols.md protocols/index.md
mv release-notes/release-notes.md release-notes/index.md
# Admonitions
find . -type f -name "*.md" -exec perl -pi -e 's/ <div class="warning">/!!! warning/g' {} \;
find . -type f -name "*.md" -exec sed -i '/<\/div>/d' {} \;
find . -type f -name "*.md" -exec perl -pi -e 's/\n\n\n/placeholderstring123/g' -0 {} \;
find . -type f -name "*.md" -exec sed -i '/^!!! warning/,/placeholderstring123/s/^/\ \ \ \ /' {} \;
find . -type f -name "*.md" -exec perl -pi -e 's/placeholderstring123/\n\n\n/g' -0 {} \;
find . -type f -name "*.md" -exec perl -pi -e 's/ > \*\*Warning\*\*/!!! warning2/g' {} \;
find . -type f -name "*.md" -exec sed -i '/^!!! warning2/,/^$/s/ >/\ \ \ /' {} \;
find . -type f -name "*.md" -exec sed -i 's/!!! warning2/!!! warning/' {} \;
find . -type f -name "*.md" -exec sed -i 's/^\ \ \ \ !!! warning/!!! warning/' {} \;
find . -type f -name "*.md" -exec perl -pi -e 's/!!! warning\n \n/!!! warning\n/g' -0 {} \;
# Increase all headings past line 1 by one level
# Lix docs all have level-1 headings, we need at least level 2
find . -type f -name "*.md" -exec sed -i '2,$s/# [^#]*/#&/g' {} \;
# Clean up some local links
find . -type f -name "*.md" -exec sed -i 's/command-ref/Command-Reference/g' {} \;
find . -type f -name "*.md" -exec sed -i 's/new-cli/New-CLI/g' {} \;
find . -type f -name "*.md" -exec sed -i 's/Command-Reference\.(?:html|md)//g' {} \;
find . -type f -name "*.md" -exec sed -i 's/conf-file\.(?:html|md)/conf-file/g' {} \;
find . -type f -name "*.md" -exec sed -i 's/values\.(?:html|md)/values/g' {} \;
'';
}

View file

@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation {
cp -r ${pkgs.amg.manual-assets} $out/assets cp -r ${pkgs.amg.manual-assets} $out/assets
cp -r ${pkgs.amg.nixpkgs-manual} $out/Nixpkgs/ cp -r ${pkgs.amg.nixpkgs-manual} $out/Nixpkgs/
cp -r ${pkgs.amg.aux-wiki} $out/Aux cp -r ${pkgs.amg.aux-wiki} $out/Aux
cp -r ${pkgs.lix-docs.doc}/manualMD $out/Lix cp -r ${pkgs.amg.lix-docs} $out/Lix
chmod -R u+w $out/Lix chmod -R u+w $out/Lix
pushd $out/Lix pushd $out/Lix
find . -type f -exec perl -pi -e 's/\<div class="warning"\>\n\n/\?\?\? bug\n\n\ \ /g' {} \; find . -type f -exec perl -pi -e 's/\<div class="warning"\>\n\n/\?\?\? bug\n\n\ \ /g' {} \;