mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
docs: refactor serve-docs
; add nix run .#docs
Refactor `serve-docs` using `makeWrapper`, make it available as a `serve-docs` package and as the `docs` "app". This means `nix build .#docs` will build the docs while `nix run .#docs` will run the server.
This commit is contained in:
parent
5c49988a7c
commit
f3342bdbd4
5 changed files with 28 additions and 8 deletions
|
@ -132,5 +132,9 @@ lib.fix (
|
|||
inherit evaledModules transformOptions;
|
||||
inherit (self) search lib-docs;
|
||||
};
|
||||
|
||||
serve-docs = pkgs.callPackage ./server {
|
||||
inherit (self) docs;
|
||||
};
|
||||
}
|
||||
)
|
||||
|
|
19
docs/server/default.nix
Normal file
19
docs/server/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
lib,
|
||||
runCommand,
|
||||
makeBinaryWrapper,
|
||||
python3,
|
||||
docs,
|
||||
}:
|
||||
runCommand "serve-docs"
|
||||
{
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
meta.mainProgram = "server";
|
||||
}
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${lib.getExe python3} \
|
||||
$out/bin/server \
|
||||
--add-flags ${./server.py} \
|
||||
--chdir ${docs}
|
||||
''
|
16
docs/server/server.py
Normal file
16
docs/server/server.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
import http.server
|
||||
|
||||
PORT = 8000
|
||||
|
||||
|
||||
class UncachedHTTPHandler(http.server.SimpleHTTPRequestHandler):
|
||||
def end_headers(self):
|
||||
self.send_header("Cache-Control", "no-cache, no-store, must-revalidate")
|
||||
self.send_header("Pragma", "no-cache")
|
||||
self.send_header("Expires", "0")
|
||||
super().end_headers()
|
||||
|
||||
|
||||
with http.server.HTTPServer(("", PORT), UncachedHTTPHandler) as httpd:
|
||||
print(f"Serving documentation at http://localhost:{PORT}")
|
||||
httpd.serve_forever()
|
Loading…
Add table
Add a link
Reference in a new issue