{"id":13393494,"url":"https://github.com/hakanu/pervane","last_synced_at":"2025-04-05T16:06:31.355Z","repository":{"id":48614462,"uuid":"230660426","full_name":"hakanu/pervane","owner":"hakanu","description":"Plain text file based note taking and knowledge base building tool, markdown editor, simple browser IDE.","archived":false,"fork":false,"pushed_at":"2023-08-03T21:45:05.000Z","size":79536,"stargazers_count":204,"open_issues_count":38,"forks_count":13,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-01T12:11:40.643Z","etag":null,"topics":["ag","code","code-editor","demo","editor","file","file-browser","flask","ide","knowledge","markdown","markdown-editor","md","python","search","server"],"latest_commit_sha":null,"homepage":"https://hakanu.github.io/pervane/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hakanu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/haku"]}},"created_at":"2019-12-28T20:06:36.000Z","updated_at":"2025-03-12T16:09:18.000Z","dependencies_parsed_at":"2024-01-13T17:21:21.195Z","dependency_job_id":null,"html_url":"https://github.com/hakanu/pervane","commit_stats":{"total_commits":207,"total_committers":8,"mean_commits":25.875,"dds":"0.49275362318840576","last_synced_commit":"5f135974b9f93da37146a8b640f592f8509f8e4d"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fpervane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fpervane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fpervane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakanu%2Fpervane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hakanu","download_url":"https://codeload.github.com/hakanu/pervane/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361686,"owners_count":20926643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ag","code","code-editor","demo","editor","file","file-browser","flask","ide","knowledge","markdown","markdown-editor","md","python","search","server"],"created_at":"2024-07-30T17:00:54.231Z","updated_at":"2025-04-05T16:06:31.333Z","avatar_url":"https://github.com/hakanu.png","language":"JavaScript","readme":"![](https://github.com/hakanu/pervane/wiki/general_look.png)\n\n# Pervane | [Demo](https://youtu.be/2WiFvcgV6lo) | [Install \u0026 Run](https://github.com/hakanu/pervane/wiki/Install-\u0026-Run-instructions) | [Wiki](https://github.com/hakanu/pervane/wiki) | [Discuss](https://reddit.com/r/pervane/)\n\n[![](https://img.shields.io/badge/status-stable-green.svg)](https://pypi.org/pypi/pervane/)\n![](https://img.shields.io/badge/dynamic/json?color=green\u0026label=downloads\u0026query=data%5B0%5D.downloads\u0026url=https%3A%2F%2Fpypistats.org%2Fapi%2Fpackages%2Fpervane%2Foverall)\n[![](https://img.shields.io/pypi/v/pervane.svg)](https://pypi.org/pypi/pervane/)\n[![](https://img.shields.io/pypi/pyversions/pervane.svg)](https://pypi.org/pypi/pervane/)\n[![](https://img.shields.io/pypi/l/pervane.svg)](https://pypi.org/pypi/pervane/)\n\nPervane is a plain text file based note taking and knowledge base building tool.\nIt doubles as simple file server to render given directories files in web\nbrowser while it can be used as a cloud IDE too with awesome code highlighting.\nIt's like python's built-in SimpleHTTPServer but a little bit feature richer\nlike WYSIWYG note taking experience, sidebar with infinite number of nesting,\nblazing fast text search, file moving, creating from the browser etc.\n\nMain use case is to create, edit, serve and search the markdown notes in\ncombination with example source files.\n\nIf you are using plain text based note taking, this can be helpful for adhoc\nmediums like operating systems which don't have large desktop app ecosystem like\nChromeOS or mobile OS like Android and iOS.\n\n## Features\n\n* Completely private, your files, your computer, no database, no installation\n  (apart from some general python packages). There is no statistic collection through any medium. (I only check [pypi stats](https://pypistats.org/packages/pervane))\n* Self hosted (working on a managed version if anyone is interested, drop a messsage!)\n* Notes are stored as plain text files with the names given by yourself. Pervane\n  doesn't rename automatically.\n* Extremely fast UI with quick note switches.\n* Tabbed UI.\n* No added metadata files etc. Just globs your files, caches for N seconds and\n  creates the file tree.\n* Source of truth is your own file system so you can use your favorite markdown\n  editor to modify your notes: QOwnNotes, VSCode, Sublime Text etc.\n* Ignore some files in order not to be shown on the sidebar.\n* Flask based server, totally hackable, just modify, it's all yours.\n* Minimal dependencies, single binary.\n* Uses [silver searcher (ag)](https://github.com/ggreer/the_silver_searcher) for\n  searching in an instant throughout the whole folder.\n* Thanks to ag, no indexing or prework is done for search. You can just start\n  using Pervane with one line command.\n* File tree with proper infinite number of nesting, works well for hierarchical\n  note taking and knowledge base building.\n* Cookie based authentication.\n* No stats collection, all private.\n* Rich text editing experience thanks to [editor.md](https://pandao.github.io/editor.md/).\n* Spell checker\n* Find an replace within the editor.\n* Hide/show preview\n* Full screen editing mode with F11 or toolbar\n* Hide/show toolbar\n* Lots of themes thanks to editor.md\n* Move files in between directories with drag \u0026 drop functionality.\n* Keyboard shortcuts\n* Quick fuzzy file name search\n* Edit code notes directly\n* Drag \u0026 Drop file upload in anywhere in the page\n* Image/Video rendering in case you they are in the directory.\n* Directory browser with breadcrumb paths.\n* TeX/KaTeX, emoji, task list support.\n* WYSIWYG editor\n* Toggle-able sidebar.\n* Dark mode by default with many themes like monokai, solarized etc.\n* Side-by-side markdown preview with sync scroll.\n* Full screen Zen mode for writing.\n* Autosave.\n\n## [Screenshots](https://github.com/hakanu/pervane/wiki/Screenshots-Gallery)\n\n![Generel view of the app](https://github.com/hakanu/pervane/wiki/flow_chart.png)\n\nAll of the screenshots and more video are located in [Pervane Wiki](https://github.com/hakanu/pervane/wiki).\n\n## Install via pip\n\n```shell\nscreen\npip install pervane\n\n# First make sure you create the admin user\npervane --mode=init\n\n# Then run the app for reals.\n# You can login with your recently created credentials.\npervane --dir=example/\n```\n\nWhen you go to localhost:5000, Pervane only accepts 1\nuser. So your notes will only be visible by this single user.\n\n⚠️ If you see a server error, delete your cookies and retry.\n\n### If you are upgrading from a version before 0.0.9\n\nYou will probably see errors about user is not existing. You need to run `pervane --mode=init` first.\nI've changed user auth mode again (had to, because flask-user is deprecated). Sorry about it.\n\nPackage details here: https://pypi.org/project/pervane/\n\nYou can run Pervane also with Docker or build it from source. Please visit\n[Pervane Wiki](https://github.com/hakanu/pervane/wiki/Install-\u0026-Run-instructions)\nfor more installation options.\n\n## Contribute\n\nPlease and thank you :)\n\n```shell\n# Init:\ngit clone https://github.com/hakanu/pervane.git \u0026\u0026 cd pervane\n\n# Set up local env.\nvirtualenv -p python3 env\nsource env/bin/activate\npip install -r requirements.txt\n\n# Run\npython3 pervane/serve.py --debug=true\n```\n","funding_links":["https://www.buymeacoffee.com/haku"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhakanu%2Fpervane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhakanu%2Fpervane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhakanu%2Fpervane/lists"}