Notes from Politechnika Poznańska (Poznań University of Technology)
npm install
npm startRequires Node 20+ (react-router 7). On older Node you'll see EBADENGINE warnings.
Notes live under public/notes/, mirroring your vault's folder structure. A single
script imports them and (re)builds the index the app reads.
npm run ingest -- --path "/path/to/ObsidianVault"
npm run ingestThe script:
- copies
.mdfiles and attachments (png/jpg/jpeg/gif/svg/webp/avif/bmp,pdf) intopublic/notes/, preserving the folder tree; - skips junk (
node_modules,.git,.obsidian,.trash,.DS_Store, lockfiles); - generates
public/notes/index.jsonthe folder tree, a flat note list (for prev/next navigation) and an attachment map (for resolving Obsidian![[embeds]]); - writes
public/sitemap.xml(setSITE_URLto your domain, e.g.SITE_URL=https://notes.example.com npm run ingest).
Obsidian ![[image.png]] embeds, [[wikilinks]] and relative image paths are resolved
at render time.
npm run buildPushing to main triggers .github/workflows/deploy.yml, which installs, re-indexes,
builds, and publishes build/ to GitHub Pages.
public/notes/
scripts/ingest-notes.js
src/
lib/
components/
pages/
Bug reports, corrections, and pull requests are welcome see CONTRIBUTING.md.
The application source code is MIT-licensed see LICENSE.
The note content under public/notes/ is not covered by that license and
remains © Krystian Pińczak, all rights reserved.