diff --git a/.github/workflows/desktop.yml b/.github/workflows/desktop.yml index e7ebae7..2ee2dfe 100644 --- a/.github/workflows/desktop.yml +++ b/.github/workflows/desktop.yml @@ -33,9 +33,9 @@ jobs: uses: denoland/setup-deno@d4873ceeec10de6275fecd1f94b6985369d40231 with: deno-version: v1.29.1 - - name: Build Silver Bullet + - name: Build SilverBullet run: deno task build - - name: Create Silver Bullet bundle + - name: Create SilverBullet bundle run: deno task bundle - name: Set MacOS signing certs if: matrix.os == 'macOS-latest' diff --git a/README.md b/README.md index 5fc00f2..f236c18 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Silver Bullet +# SilverBullet -Silver Bullet (SB) is an extensible, open source **personal knowledge +SilverBullet is an extensible, open source **personal knowledge platform**. At its core it’s a clean markdown-based writing/note taking application that stores your _pages_ (notes) as plain markdown files in a folder referred to as a _space_. Pages can be cross-linked using the @@ -13,20 +13,20 @@ your accumulated knowledge in creative ways specific to you. For more in-depth information, an interactive demo, and links to more -background, check out the [Silver Bullet website](https://silverbullet.md) +background, check out the [SilverBullet website](https://silverbullet.md) (published from this repo’s `website/` folder). Or checkout these two videos: -- [A Tour of some of Silver Bullet’s features](https://youtu.be/VemS-cqAD5k) — +- [A Tour of some of SilverBullet’s features](https://youtu.be/VemS-cqAD5k) — spoiler alert: it’s cool. - [A look the SilverBullet architecture](https://youtu.be/mXCGau05p5o) — spoiler alert: it’s plugs all the way down. ## Features -- **Free and open source**. Silver Bullet is MIT licensed. -- **The truth is in the markdown.** Silver Bullet doesn’t use proprietary file +- **Free and open source**. SilverBullet is MIT licensed. +- **The truth is in the markdown.** SilverBullet doesn’t use proprietary file formats. It keeps its data as plain markdown files on disk. While SB uses a database for indexing and caching some indexes, all of that can be rebuilt from its markdown source at any time. If SB would ever go away, you can still @@ -40,114 +40,19 @@ Or checkout these two videos: [plugs](https://silverbullet.md/🔌_Plugs), and you can customize it to your liking and your workflows. -## Installing Silver Bullet with Deno - -### Installing Deno - -Silver Bullet is built using [Deno](https://deno.land). To install Deno on Linux -or Mac run: - -```shell -curl -fsSL https://deno.land/install.sh | sh -``` - -This will install Deno into `~/.deno/bin`, add this folder to your `PATH` in -your `~/.bashrc` or `~/.zshrc` file. - -To install Deno on Windows (using Powershell) run: - -```powershell -irm https://deno.land/install.ps1 | iex -``` - -### Install Silver Bullet - -With Deno installed (see instruction above), run: - -```shell -deno install -f --name silverbullet -A --unstable https://get.silverbullet.md -``` - -This will install `silverbullet` into your `~/.deno/bin` folder (which should -already be in your path if you installed Deno following the previous -instructions). - -To run Silver Bullet create a folder for your pages (it can be empty, or be an -existing folder with `.md` files) and run the following command in your -terminal: - -```shell -silverbullet -``` -By default, SB will bind to port `3000` on all interfaces. To specify a -different address or port to listen on, use the `--hostname` and `--port` -options. By default SB doesn’t add authentication, to add -basic password authentication (BasicAuth), pass the `--user` flag (e.g. -`--user pete:1234` for username `pete` and password `1234`). - -Once downloaded and booted, SB will print out a URL to open SB in your browser -(spoiler alert: by default this will be http://localhost:3000 ). - -#protip: If you have a PWA enabled browser (like any browser based on Chromium) -hit that little button right of the location bar to install SB, and give it its -own window frame (sans location bar) and desktop/dock icon. At last the PWA has -found its killer app. - -## Upgrading Silver Bullet - -Simply run this: - - silverbullet upgrade - -And restart Silver Bullet. You should be good to go. - -## Installing Silver Bullet with Docker - -There is a [docker image on docker hub](https://hub.docker.com/r/zefhemel/silverbullet). To use it, first create a volume to keep your space (markdown) files: - -```shell -docker volume create myspace -``` - -Then, run the container, e.g. as follows: - -```shell -docker run -p 3000:3000 -v myspace:/space -d --name silverbullet zefhemel/silverbullet -``` - -If you'd like to pass in additional command line arguments (e.g. `--user` to add authentication) you can just append those to the command, e.g.: - -```shell -docker run -p 3000:3000 -v myspace:/space -d --name silverbullet zefhemel/silverbullet --user me:letmein -``` - -To build your own version of the docker image, run `./scripts/build_docker.sh`. - -You can also use docker-compose if you prefer. From a silverbullet check-out run: - -```shell -PORT=3000 docker-compose up -``` - -or similar. - -To upgrade, simply pull the latest docker image (rebuilt and pushed after every commit to "main") and start the new container. - -```shell -docker pull zefhemel/silverbullet -``` - +## Installing SilverBullet +Check out the [official website](https://silverbullet.md) ## Troubleshooting -If you upgraded to the new Deno-based Silver Bullet from an old version, you may +If you upgraded to the new Deno-based SilverBullet from an old version, you may have to use the `silverbullet fix ` command to flush out your old database and plugs. Plugs will likely need to be updated. -## Developing Silver Bullet +## Developing SilverBullet [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/silverbulletmd/silverbullet) -Silver Bullet is written in [TypeScript](https://www.typescriptlang.org/) and +SilverBullet is written in [TypeScript](https://www.typescriptlang.org/) and built on top of the excellent [CodeMirror 6](https://codemirror.net/) editor component. Additional UI is built using [Preact](https://preactjs.com). [ESBuild]([https://parceljs.org/](https://esbuild.github.io)) is used to build both the front-end and diff --git a/build_mobile.ts b/build_mobile.ts index 8a33339..44094d3 100644 --- a/build_mobile.ts +++ b/build_mobile.ts @@ -11,9 +11,6 @@ if (import.meta.main) { }, }); await bundle(args.watch, "mobile", "mobile/dist"); - await copy("mobile/index.html", `mobile/dist/index.html`, { - overwrite: true, - }); if (!args.watch) { esbuild.stop(); } diff --git a/cmd/fix.ts b/cmd/fix.ts index c268a12..62f4616 100644 --- a/cmd/fix.ts +++ b/cmd/fix.ts @@ -24,6 +24,6 @@ export async function fixCommand(_options: any, folder: string) { } } console.log( - "Alright then, that should be it. Try running Silver Bullet again.", + "Alright then, that should be it. Try running SilverBullet again.", ); } diff --git a/cmd/server.ts b/cmd/server.ts index 4b273ec..d76ef32 100644 --- a/cmd/server.ts +++ b/cmd/server.ts @@ -10,14 +10,14 @@ export function serveCommand(options: any, folder: string) { const bareMode = options.bare; console.log( - "Going to start Silver Bullet binding to", + "Going to start SilverBullet binding to", `${hostname}:${port}`, ); console.log("Serving pages from", pagesPath); if (hostname === "127.0.0.1") { console.log( - `_Note:_ Silver Bullet will only be available locally (via http://localhost:${port}), to allow outside connections, pass --host 0.0.0.0 as a flag.`, + `_Note:_ SilverBullet will only be available locally (via http://localhost:${port}), to allow outside connections, pass --host 0.0.0.0 as a flag.`, ); } diff --git a/common/util.ts b/common/util.ts index 2dc2cee..e4f8429 100644 --- a/common/util.ts +++ b/common/util.ts @@ -66,6 +66,7 @@ export async function ensureAndLoadSettings( `Hello! And welcome to your brand new SilverBullet space! +Loading some onboarding content for you (but doing so does require a working internet connection)... `, ); } diff --git a/mobile/index.html b/mobile/index.html deleted file mode 100644 index 9f67aa7..0000000 --- a/mobile/index.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - Silver Bullet - - - - - - - - - -
- - - \ No newline at end of file diff --git a/scripts/build_demo.sh b/scripts/build_demo.sh index 84a6557..3193247 100755 --- a/scripts/build_demo.sh +++ b/scripts/build_demo.sh @@ -17,6 +17,8 @@ cp -r dist_bundle/web/* website_build/ echo "And all plugs" cp -r dist_bundle/_plug/* website_build/fs/_plug/ +echo "And additional ones" +curl https://raw.githubusercontent.com/silverbulletmd/silverbullet-mermaid/main/mermaid.plug.json > website_build/fs/_plug/mermaid.plug.json echo "But remove some plugs" rm -rf website_build/fs/_plug/{directive,plugmd,publish,share}.plug.json #echo "Copying netlify config files" diff --git a/scripts/build_website.sh b/scripts/build_website.sh index 66a80e8..ed3278b 100755 --- a/scripts/build_website.sh +++ b/scripts/build_website.sh @@ -1,7 +1,7 @@ #!/bin/bash -echo "Now building Silver Bullet bundle" +echo "Now building SilverBullet bundle" curl -fsSL https://deno.land/install.sh | sh export PATH=~/.deno/bin:$PATH diff --git a/server/http_server.ts b/server/http_server.ts index 6090d9f..843597a 100644 --- a/server/http_server.ts +++ b/server/http_server.ts @@ -149,7 +149,7 @@ export class HttpServer { ? "localhost" : this.hostname; console.log( - `Silver Bullet is now running: http://${visibleHostname}:${this.port}`, + `SilverBullet is now running: http://${visibleHostname}:${this.port}`, ); } diff --git a/silverbullet.ts b/silverbullet.ts index 519ea7d..01fa8f5 100755 --- a/silverbullet.ts +++ b/silverbullet.ts @@ -61,7 +61,7 @@ await new Command() }) .action(invokeFunction) // upgrade - .command("upgrade", "Upgrade Silver Bullet") + .command("upgrade", "Upgrade SilverBullet") .action(upgradeCommand) // version .command("version", "Get current version") diff --git a/web/auth.html b/web/auth.html index 3635d66..5eb17b0 100644 --- a/web/auth.html +++ b/web/auth.html @@ -5,7 +5,7 @@ - Login to Silver Bullet + Login to SilverBullet