diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile new file mode 100644 index 0000000..1c4c6ab --- /dev/null +++ b/.gitpod.Dockerfile @@ -0,0 +1,7 @@ +FROM gitpod/workspace-full:latest + +RUN bash -c 'VERSION="18" \ + && source $HOME/.nvm/nvm.sh && nvm install $VERSION \ + && nvm use $VERSION && nvm alias default $VERSION' + +RUN echo "nvm use default &>/dev/null" >> ~/.bashrc.d/51-nvm-fix diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 0000000..d430943 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,31 @@ +image: + file: .gitpod.Dockerfile + +ports: + - port: 3000 + name: Silverbullet + onOpen: open-browser + visibility: public + +github: + prebuilds: + master: true + pullRequests: true + +tasks: + - name: Setup + init: | + npm install + npm run clean-build + gp sync-done setup + - name: Run Silverbullet server + init: | + gp sync-await setup + mkdir pages + command: npm run server -- ./pages + - name: Run ParcelJS + init: gp sync-await setup + command: npm run watch + - name: Build plugins + init: gp sync-await setup + command: npm run plugs diff --git a/README.md b/README.md index b8871f7..b321cb1 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,9 @@ Once downloaded and booted, SB will print out a URL to open SB in your browser ( #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. ## Developing Silver Bullet + +[![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 built on top of the excellent [CodeMirror 6](https://codemirror.net/) editor component. Additional UI is built using React.js. [ParcelJS](https://parceljs.org/) is used to build both the front-end and back-end bundles. The server backend runs as a HTTP server on node.js using express. This repo is a monorepo using npm's "workspaces" feature. It consists of a number of npm packages under `packages`. diff --git a/packages/web/components/top_bar.tsx b/packages/web/components/top_bar.tsx index 4e0f8ff..5732f24 100644 --- a/packages/web/components/top_bar.tsx +++ b/packages/web/components/top_bar.tsx @@ -7,6 +7,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useEffect, useState } from "react"; import { Notification } from "../types"; +import { isMacLike } from "../../common/util"; function prettyName(s: string | undefined): string { if (!s) { @@ -40,6 +41,8 @@ export function TopBar({ }) { const [theme, setTheme] = useState(localStorage.theme ?? "light"); + const isMac = isMacLike(); + return (
{lhs} @@ -83,7 +86,7 @@ export function TopBar({ onActionClick(); e.stopPropagation(); }} - title="Open the command palette" + title={"Open the command palette (" + (isMac ? "Cmd" : "Ctrl") + "+/)"} >