diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2023-01-26 02:52:21 +0900 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2023-01-26 02:52:21 +0900 |
commit | ea1e82c58d4b36f5ac194f6b901425cdf99f2661 (patch) | |
tree | 2db28963f0aff04b822ad4c8ee5ff5c0cec98e60 | |
parent | f7720b2207b33fd60ef945662c261c1468e377f7 (diff) | |
download | px-ea1e82c58d4b36f5ac194f6b901425cdf99f2661.tar.gz |
Add live reloading facilities
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | README.md | 28 | ||||
-rw-r--r-- | live.nix | 9 |
4 files changed, 44 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore index 936e539..e66f51d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.small.jpg */index.xhtml -atom.xml -result +/index.xml +/atom.xml +/result diff --git a/Makefile b/Makefile index dcbd345..c6671a8 100644 --- a/Makefile +++ b/Makefile @@ -35,4 +35,7 @@ install: all $(addprefix $(PREFIX)/,$(ALL)) uninstall: rm -fr $(PREFIX) -.PHONY: all clean install uninstall +live: $(THUMBNAILS) + ln -fs index.xhtml index.xml + +.PHONY: all clean install uninstall live diff --git a/README.md b/README.md new file mode 100644 index 0000000..1b004ef --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# My photo gallery + +This is a static site (with immutable DOM as usual) +for displaying my photos. + +## Hacking + +Run `nix-shell live.nix` and open `http://localhost:28792`. +Changes to `*/index.xml` will be live reloaded thanks +to modern browsers' native support for XSLT. The web feed +has to me manually regenerated with `make atom.xml` however. + +## Deployment + +```sh +rsync -avh --delete\ + $(nix-build -E 'with import <nixpkgs> {}; callPackage ./. {}')/\ + loang:/var/lib/www/px.cnx.gdn/ +``` + +Nix builds are reproducible which helps minimize the amount of file transfer. + +## Copying + +![CC BY-SA](https://i.creativecommons.org/l/by-sa/4.0/88x31.png) + +This site is licensed under a [Creative Commons Attribution-ShareAlike 4.0 +International License](https://creativecommons.org/licenses/by-sa/4.0/). diff --git a/live.nix b/live.nix new file mode 100644 index 0000000..b18b5ad --- /dev/null +++ b/live.nix @@ -0,0 +1,9 @@ +with import <nixpkgs> {}; +mkShell { + packages = [ busybox epeg libxslt webfs ]; + shellHook = '' + make -j $(nproc) live + webfsd -p 28792 -f index.xml + trap "kill $(pgrep -f 'webfsd -p 28792')" EXIT INT TERM + ''; +} |