]> BookStack Code Mirror - website/commitdiff
Added bsfs post
authorDan Brown <redacted>
Sun, 20 Apr 2025 10:47:02 +0000 (11:47 +0100)
committerDan Brown <redacted>
Sun, 20 Apr 2025 10:47:02 +0000 (11:47 +0100)
content/blog/2025/bookstack-filesystem.md [new file with mode: 0644]
static/images/blog-cover-images/cc-by-sa-4/attribution.txt
static/images/blog-cover-images/cc-by-sa-4/penguins-dietmar-rabich.jpg [new file with mode: 0644]
static/images/pt/qYZLU2U12RQNfFNfe1xSpb.webp [new file with mode: 0644]

diff --git a/content/blog/2025/bookstack-filesystem.md b/content/blog/2025/bookstack-filesystem.md
new file mode 100644 (file)
index 0000000..c0dfd97
--- /dev/null
@@ -0,0 +1,34 @@
++++
+categories = ["News"]
+tags = ["News"]
+title = "Using BookStack as a Linux File System"
+image = "/images/blog-cover-images/cc-by-sa-4/penguins-dietmar-rabich.jpg"
+author = "Dan Brown"
+slug = "bookstack-filesystem"
+draft = false
+date = 2025-04-20T10:46:00Z
++++
+
+For a while I've been playing with the idea of being able to mount a BookStack instance as a Linux file system.
+I attempted this a while ago, but recently dedicated a day to finishing up a proof on concept for this.
+The resulting project, with usage details, can be found here on Codeberg:
+
+https://codeberg.org/bookstack/filesystem
+
+This little application mounts a [FUSE](https://docs.kernel.org/filesystems/fuse.html)-based linux file system
+which in the background reads books, chapters and pages from BookStack over the API, to present the content
+as a read-only series of folders and files. Files are essentially the page content provided via the export API 
+endpoints. By default they are plain text export files, but there's an option to alternatively use PDF, HTML or Markdown exports
+for page files.
+
+This is only a simple proof of concept application written in Go, and is not really meant for production use
+since there will be limitations and bugs, but it's a fun idea which may be useful to others.
+The code (linked above) is all open source and open to further hackery where desired.
+
+For a full visual demo I've put together a quick video of this in use:
+
+{{<pt qYZLU2U12RQNfFNfe1xSpb>}}
+
+---
+  
+<span style="font-size: 0.8em;opacity:0.8;">Header Image Credits: &nbsp;<span>Photo by <a href="https://commons.wikimedia.org/wiki/File:Simon%E2%80%99s_Town_(ZA),_Boulders_Beach,_Penguin_Colony_--_2024_--_3420.jpg">Dietmar Rabich (CC-BY-SA-4)</a> - Image Modified</span></span>
index 75e75c83d35311d9ffeffc27a8c2973a458a8ee3..1ddc1e402298759f086ee5140da1fc99dabd1322 100644 (file)
@@ -42,3 +42,8 @@ mountain-stream-agnes-monkelbaan.jpg
 Copyright Agnes Monkelbaan
 Source: https://commons.wikimedia.org/wiki/File:S-charl_richting_Alp_Sesvenna._12-10-2024._(actm.)_03.jpg
 Image modified in usage (Cropped, resized, sharpened).
+---
+penguins-dietmar-rabich.jpg
+Copryright Dietmar Rabich
+Source: https://commons.wikimedia.org/wiki/File:Simon%E2%80%99s_Town_(ZA),_Boulders_Beach,_Penguin_Colony_--_2024_--_3420.jpg
+Image modified in usage (Cropped, resized, sharpened).
diff --git a/static/images/blog-cover-images/cc-by-sa-4/penguins-dietmar-rabich.jpg b/static/images/blog-cover-images/cc-by-sa-4/penguins-dietmar-rabich.jpg
new file mode 100644 (file)
index 0000000..94cb238
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:79809a2d7c8ede786dd1796aa5a66fc10a108babd60fd6e2b7d1f44697599957
+size 449709
diff --git a/static/images/pt/qYZLU2U12RQNfFNfe1xSpb.webp b/static/images/pt/qYZLU2U12RQNfFNfe1xSpb.webp
new file mode 100644 (file)
index 0000000..75457d7
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:78967c7b44ebfd7cb84a33f1ad395c8cf8d798b76558d724df29696df6f2e0e2
+size 39752