1
0

Merge branches 'main' and 'main' of github.com:silverbulletmd/silverbullet

This commit is contained in:
Zef Hemel 2022-07-19 11:33:14 +02:00
commit 5cc1fc0a25
6 changed files with 52 additions and 1 deletions

2
.env Normal file
View File

@ -0,0 +1,2 @@
DIRECTORY=
PORT=3000

12
Dockerfile Normal file
View File

@ -0,0 +1,12 @@
FROM node:18.6.0-slim
RUN mkdir /space
RUN chown node:node /space
USER node
WORKDIR /space
RUN npx --yes @silverbulletmd/server || true
EXPOSE 3000
CMD ["sh","-c","npx --yes @silverbulletmd/server --port 3000 /space"]

View File

@ -26,7 +26,7 @@ I know, right?
**Disclaimer:** Silver Bullet is under heavy development and significant changes under the hood happen constantly. Its also low on automated tests and documentation. All this will improve over time. Ill do better, I promise. **Disclaimer:** Silver Bullet is under heavy development and significant changes under the hood happen constantly. Its also low on automated tests and documentation. All this will improve over time. Ill do better, I promise.
More documentation can be found in the [docs space](https://github.com/zefhemel/silverbullet/tree/main/docs) More documentation can be found in the [website space](https://github.com/zefhemel/silverbullet/tree/main/website)
## Features ## Features
* **Free and open source** * **Free and open source**
@ -37,6 +37,22 @@ More documentation can be found in the [docs space](https://github.com/zefhemel/
* **Extensible** through plugs. * **Extensible** through plugs.
## Installing and running Silver Bullet ## Installing and running Silver Bullet
## Start with docker
First you have to clone the repo, then configure your port, space/directory in .env file
then run
```
docker compose up
```
then open your browser and ROCK!
e.g.
```
localhost:PORT
```
## Start without docker
To run a release version, you need to have a recent version of npm (8+) and node.js (16+) installed as well as some basic build infrastructure (make, cpp). Silver Bullet has only been tested on MacOS and Linux thus far. To run a release version, you need to have a recent version of npm (8+) and node.js (16+) installed as well as some basic build infrastructure (make, cpp). Silver Bullet has only been tested on MacOS and Linux thus far.
To install and run, create a folder for your pages (can be empty or an existing folder with `.md` files) and run: To install and run, create a folder for your pages (can be empty or an existing folder with `.md` files) and run:

11
docker-compose.yaml Normal file
View File

@ -0,0 +1,11 @@
services:
sb:
build: ./
image: sb
container_name: sb
ports:
- ${PORT}:3000
volumes:
- type: bind
source: ${DIRECTORY}
target: /space

View File

@ -0,0 +1,8 @@
Here is a list of plugs you can install. If you know of any more, please let us know by issuing a PR [to the repo](https://github.com/silverbulletmd/silverbullet/tree/main/website)!
* [Git](https://github.com/silverbulletmd/silverbullet-git): adds very rudimentary git sync plug, to synchronize your pages with a git repository.
* [Github](https://github.com/silverbulletmd/silverbullet-github): adds `gh-events` and `gh-pulls` as a query provider.
* [Ghost](https://github.com/silverbulletmd/silverbullet-ghost): adds the ability to publish pages to [Ghost](https://ghost.org/).
* [Mount](https://github.com/silverbulletmd/silverbullet-mount): adds the ability to “mount” external directories and SB instances into your space.
* [Backlinks](https://github.com/Willyfrog/silverbullet-backlinks): persistently shows your pages backlinks in a side panel.
* [Mattermost](https://github.com/silverbulletmd/silverbullet-mattermost): a basic Mattermost plug exposing saved posts as a query source.

View File

@ -2,6 +2,8 @@ Silver Bullet at its core is bare bones in terms of functionality, most of its p
Plugs are an extension mechanism (implemented using a library called `plugos` that runs plug code on the server in a sandboxed v8 node.js process, and in the browser using web workers). Plugs can hook into SB in various ways: plugs can extend the Markdown parser and its syntax, define new commands and keybindings, respond to various events triggered either on the server or client side, as well as run recurring and background tasks. Plugs can even define their own extension mechanisms through custom events. Each plug runs in its own sandboxed environment and communicates with SB via _syscalls_ that expose a vast range of functionality. Plugs can be loaded, unloaded and updated without having to restart SB itself. Plugs are an extension mechanism (implemented using a library called `plugos` that runs plug code on the server in a sandboxed v8 node.js process, and in the browser using web workers). Plugs can hook into SB in various ways: plugs can extend the Markdown parser and its syntax, define new commands and keybindings, respond to various events triggered either on the server or client side, as well as run recurring and background tasks. Plugs can even define their own extension mechanisms through custom events. Each plug runs in its own sandboxed environment and communicates with SB via _syscalls_ that expose a vast range of functionality. Plugs can be loaded, unloaded and updated without having to restart SB itself.
[[🔌 Plug Directory]]
Examples of functionality implemented as plugs: Examples of functionality implemented as plugs:
* _Core functionality_ such as: * _Core functionality_ such as: