{"id":13471377,"url":"https://github.com/silverbulletmd/silverbullet","last_synced_at":"2025-05-13T21:12:13.393Z","repository":{"id":41098347,"uuid":"459944886","full_name":"silverbulletmd/silverbullet","owner":"silverbulletmd","description":"An open source personal productivity platform built on Markdown, turbo charged with the scripting power of Lua","archived":false,"fork":false,"pushed_at":"2025-05-07T17:14:38.000Z","size":34929,"stargazers_count":3291,"open_issues_count":305,"forks_count":244,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-05-07T17:45:47.106Z","etag":null,"topics":["end-user-programming","knowledge-management","lua","markdown","note-taking","personal-knowledge-management"],"latest_commit_sha":null,"homepage":"https://silverbullet.md","language":"TypeScript","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/silverbulletmd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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,"zenodo":null},"funding":{"github":"silverbulletmd"}},"created_at":"2022-02-16T09:56:34.000Z","updated_at":"2025-05-07T17:14:42.000Z","dependencies_parsed_at":"2023-11-11T13:39:09.764Z","dependency_job_id":"d19b2fff-ed6f-4e11-a487-b6c098b5d412","html_url":"https://github.com/silverbulletmd/silverbullet","commit_stats":{"total_commits":704,"total_committers":25,"mean_commits":28.16,"dds":"0.10653409090909094","last_synced_commit":"eb731244816571acd5908d44eb67e6baf3b13938"},"previous_names":[],"tags_count":86,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silverbulletmd%2Fsilverbullet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silverbulletmd%2Fsilverbullet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silverbulletmd%2Fsilverbullet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silverbulletmd%2Fsilverbullet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/silverbulletmd","download_url":"https://codeload.github.com/silverbulletmd/silverbullet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029008,"owners_count":22002284,"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":["end-user-programming","knowledge-management","lua","markdown","note-taking","personal-knowledge-management"],"created_at":"2024-07-31T16:00:43.922Z","updated_at":"2025-05-13T21:12:08.383Z","avatar_url":"https://github.com/silverbulletmd.png","language":"TypeScript","readme":"# SilverBullet\nSilverBullet is a note-taking application optimized for people with a [hacker mindset](https://en.wikipedia.org/wiki/Hacker). We all take notes. There’s a million note taking applications out there. [Literally](https://www.noteapps.ca/). Wouldn’t it be nice to have one where your notes are _more_ than plain text files? Where your notes essentially become a _database_ that you can query; that you can build custom knowledge applications on top of? A _hackable notebook_, if you will?\n\nThis is what SilverBullet aims to be.\n\nAbsolutely. You use SilverBullet to quickly jot things down. It’s a notes app after all. However, this is just the beginning. Gradually, you start to annotate your notes using [Frontmatter](https://silverbullet.md/Frontmatter). You realize: “Hey, this note represents a _person_, let me [tag](https://silverbullet.md/Tags) it as such.” Before you know it, you’re turning your notes into [Objects](https://silverbullet.md/Objects). Then you learn that in SilverBullet you can [Live Query](https://silverbullet.md/Live%20Queries) these objects. Your queries grow into reusable [Templates](https://silverbullet.md/Templates) written using a powerful [Template Language](https://silverbullet.md/Template%20Language). You find more and more uses of these templates, for instance to create [new pages](https://silverbullet.md/Page%20Templates), or [widgets](https://silverbullet.md/Live%20Template%20Widgets) automatically added to your pages.\n\nAnd then, before you know it — you realize you’re effectively building applications in your notes app. [End-User Programming](https://silverbullet.md/End-User%20Programming), y’all. It’s cool.\n\nYou may have been told there is _no such thing_ as a [silver bullet](https://en.wikipedia.org/wiki/Silver_bullet).\n\nYou were told wrong.\n\n[![Introduction to SilverBullet](http://img.youtube.com/vi/8btx9HeuZ4s/0.jpg)](https://www.youtube.com/watch?v=8btx9HeuZ4s)\n\n## Features\nSilverBullet...\n* Runs in any modern browser (including on mobile) as a PWA in two Client Modes (_online_ and _synced_ mode), where the _synced mode_ enables **100% offline operation**, keeping a copy of content in the browser, syncing back to the server when a network connection is available.\n* Provides an enjoyable markdown writing experience with a clean UI, rendering text using Live Preview, further **reducing visual noise** while still providing direct access to the underlying markdown syntax.\n* Supports wiki-style **page linking** using the `[[page link]]` syntax. Incoming links are indexed and appear as “Linked Mentions” at the bottom of the pages linked to thereby providing _bi-directional linking_.\n* Optimized for **keyboard-based operation**:\n  * Quickly navigate between pages using the **page switcher** (triggered with `Cmd-k` on Mac or `Ctrl-k` on Linux and Windows).\n  * Run commands via their keyboard shortcuts or the **command palette** (triggered with `Cmd-/` or `Ctrl-/` on Linux and Windows).\n  * Use Slash Commands to perform common text editing operations.\n* Provides a platform for [end-user programming](https://www.inkandswitch.com/end-user-programming/) through its support for Objects, Live Queries and Live Templates.\n* Robust extension mechanism using [plugs](https://silverbullet.md/Plugs).\n* **Self-hosted**: you own your data. All content is stored as plain files in a folder on disk. Back up, sync, edit, publish, script with any additional tools you like.\n* SilverBullet is [open source, MIT licensed](https://opensource.org/license/MIT) software.\n\n## Installing SilverBullet\nCheck out the [instructions](https://silverbullet.md/Install).\n\n## Developing SilverBullet\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/silverbulletmd/silverbullet)\n\nSilverBullet is written in [TypeScript](https://www.typescriptlang.org/) and\nbuilt on top of the excellent [CodeMirror 6](https://codemirror.net/) editor\ncomponent. Additional UI is built using [Preact](https://preactjs.com).\n[ESBuild]([https://parceljs.org/](https://esbuild.github.io)) is used to build both the front-end and\nback-end bundles. The server backend runs as a HTTP server on Deno using and is written using [Hono](https://hono.dev).\n\nTo prepare the initial web and plug build run:\n\n```shell\ndeno task build\n```\n\nTo symlink `silverbullet` to your locally checked-out version, run:\n\n```shell\ndeno task install\n```\n\nYou can then run the server in “watch mode” (automatically restarting when you\nchange source files) with:\n\n```shell\ndeno task watch-server \u003cPATH-TO-YOUR-SPACE\u003e\n```\n\nAfter this initial build, it's convenient to run three commands in parallel (in\nseparate terminals):\n\n```shell\ndeno task watch-web\ndeno task watch-server \u003cPATH-TO-YOUR-SPACE\u003e\ndeno task watch-plugs\n```\n\nTo typecheck the entire codebase (recommended before submitting PR):\n```shell\ndeno task check\n```\n\nTo run unit tests:\n```shell\ndeno task test\n```\n\n### Git Hooks\n\nSilverBullet uses Git hooks to ensure code quality. To set up the hooks, run:\n\n```shell\n./scripts/install_hooks.sh\n```\n\nThis will set up pre-commit hooks that automatically run:\n- Type checking with `deno task check`\n- Linting with `deno task lint`\n- Tests with `deno task test`\n- Formatting with `deno task fmt`\n\nIf any of these checks fail, the commit will be aborted. You can bypass the hooks with `git commit --no-verify` if needed.\n\n## Feedback\nIf you (hypothetically) find bugs or have feature requests, post them in\n[our issue tracker](https://github.com/silverbulletmd/silverbullet/issues).\nWould you like to contribute?\n[Check out the code](https://github.com/silverbulletmd/silverbullet), and the\nissue tracker as well for ideas on what to work on.\nAlso be sure to check out our [Discourse community](https://community.silverbullet.md).\n","funding_links":["https://github.com/sponsors/silverbulletmd"],"categories":["TypeScript","lua","note-taking","markdown","Table of Contents","Open Source"],"sub_categories":["Note Taking","Web UI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilverbulletmd%2Fsilverbullet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilverbulletmd%2Fsilverbullet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilverbulletmd%2Fsilverbullet/lists"}