{"id":22373767,"url":"https://github.com/friedev/vw","last_synced_at":"2026-05-09T04:33:54.872Z","repository":{"id":264923833,"uuid":"894535186","full_name":"friedev/vw","owner":"friedev","description":"Simple wiki system using vim and markdown","archived":false,"fork":false,"pushed_at":"2024-11-26T14:25:10.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T17:27:42.811Z","etag":null,"topics":["markdown","vim","wiki"],"latest_commit_sha":null,"homepage":"https://frie.dev/vw","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/friedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-26T14:24:29.000Z","updated_at":"2024-11-26T19:08:31.000Z","dependencies_parsed_at":"2024-11-26T20:42:52.821Z","dependency_job_id":null,"html_url":"https://github.com/friedev/vw","commit_stats":null,"previous_names":["friedev/vw"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/friedev/vw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fvw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fvw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fvw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fvw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/friedev","download_url":"https://codeload.github.com/friedev/vw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fvw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32807265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["markdown","vim","wiki"],"created_at":"2024-12-04T21:14:11.295Z","updated_at":"2026-05-09T04:33:54.857Z","avatar_url":"https://github.com/friedev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vw\n\nvw (vim wiki) is yet another system for maintaining a simple personal wiki using vim and markdown.\n\nvw was made by [Aaron Friesen](https://frie.dev) for [CornHacks 2023](https://unlcornhacks.com), where it won 3rd place.\n\n## Dependencies\n\n- To compile to HTML:\n\t- make\n\t- [lowdown](https://kristaps.bsd.lv/lowdown/)\n- To import from TiddlyWiki:\n\t- Python 3\n\n## Quick Start\n\nClone vw:\n\n```\ngit clone https://frie.dev/vw.git\n```\n\nCreate a new wiki by copying the example:\n\n```\ncp -r vw/example my_wiki\n```\n\nNow you can create and edit articles in `my_wiki/md/` as you see fit.\n\n### Extras\n\nInstall the `vw` helper script:\n\n```sh\ncp vw/vw ~/.local/bin\n```\n\nAdd the \"insert link\" macro to your vimrc:\n\n```sh\ncat vw/insert_link.vim \u003e\u003e ~/.vimrc\n```\n\nStart tracking the history of your wiki's articles:\n\n```\ngit init my_wiki\n```\n\nCompile your wiki to HTML:\n\n```\nmake -C my_wiki\n```\n\n## Architecture\n\nvw is not a single piece of software, but rather a process and a small collection of tools.\nA vw wiki is a collection of markdown files in a directory that can link to one another.\nEach file represents an article in the wiki.\n\n### File Naming\n\nThe recommended naming convention for vw wikis, and the one used by the included tools, is as follows.\nThe name of each file should be the article title converted to lowercase, with spaces converted to underscores, and with the `.md` file extension.\n\n### Navigation\n\nTo create links between pages, use the normal markdown syntax:\n\n```md\n[vw](vw.md) is a tool for creating wikis.\n```\n\nvw will translate each link to point to its corresponding HTML page when you run `make`.\n\nVim provides some useful built-in keybinds that you can use to navigate the wiki.\nTo open a link in a new buffer, move the cursor over it and type `gf`.\nTo open an external link in the proper program (like your browser), type `gx` instead.\n\n### Version Control\n\nTo edit collaboratively and track the history of your articles, you can simply create a git repo at the root level of your wiki.\nFor the most granular control, like you would get in a traditional wiki, make a commit after each edit you make to a page.\nHowever, unlike a traditional wiki, you can also choose to group related changes to multiple pages together into a single commit, like you might do in a software project.\n\n## Tools\n\n### HTML Export\n\nvw includes a makefile which you can use to compile your wiki to HTML.\nThis lets you browse your wiki locally with a web browser, or publish it to a website.\nYou can customize this build process to your liking simply by editing the makefile.\n\nThe makefile includes options for common use cases, such as adding a CSS stylesheet or a common header and footer.\nMore details about setting these options can be found in comments in the makefile.\n\n### Helper Script\n\nvw includes a shell script (also named `vw`) which you can use to refactor your wiki and generate various insights.\nFor more detailed help information, run `vw` with no arguments.\nFor maximum usability, add `vw` to your path; for instance, you could copy it to `~/.local/bin` or `/usr/local/bin`.\n\n**NOTE:** `vw` must be run from the same directory as your wiki's markdown files.\n\n### Link Generation\n\nTo speed up editing, vw includes a vim macro that inserts the link corresponding to the article title under the cursor.\nFor example, if you typed `[My Article]`, running the macro would yield `[My Article](my_article.md)`.\nTo install it, append it to your vimrc.\n\n```sh\ncat vw/insert_link.vim \u003e\u003e ~/.vimrc\n```\n\nAlternatively, check out [vim-markdown-wiki](https://github.com/mmai/vim-markdown-wiki), which provides similar functionality in the form of a Vim script plugin.\nNote that, by default, vim-markdown-wiki replaces spaces with hyphens rather than underscores.\n\n### Import from TiddlyWiki\n\nTo convert a TiddlyWiki to a vw wiki, you can use the included Python script: `tiddlers_to_vw.py`.\nThe converter doesn't handle all of TiddlyWiki's features, but it should still save you time compared to manual conversion.\n\n## Alternatives\n\nMany similar projects of varying complexity attempt to solve the same problem as vw.\nSome are listed below, roughly in order of similarity to vw.\nI recommend trying them out and deciding which you prefer.\n\n- [vim-markdown-wiki](https://github.com/mmai/vim-markdown-wiki)\n- [wiki.vim](https://github.com/lervag/wiki.vim)\n- [Vim-Waikiki](https://github.com/fcpg/vim-waikiki)\n- [SoyWiki](https://github.com/danchoi/soywiki) (unmaintained)\n- [vimwiki](https://vimwiki.github.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedev%2Fvw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffriedev%2Fvw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedev%2Fvw/lists"}