Skip to content

Commit

Permalink
refactor: no need for the backend jar and pg
Browse files Browse the repository at this point in the history
  • Loading branch information
tiensonqin committed Dec 2, 2020
1 parent f0c0e44 commit 552ec6d
Show file tree
Hide file tree
Showing 10 changed files with 336 additions and 119 deletions.
83 changes: 4 additions & 79 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,97 +62,22 @@ The following is for developers and designers who want to build and run Logseq l

## Set up development environment

If you are on Windows, use the [Windows setup](#windows-setup) below.

### 1. Requirements

- [Java & Clojure](https://clojure.org/guides/getting_started)

- [PostgreSQL](https://www.postgresql.org/download/)

- [Node.js](https://nodejs.org/en/download/) & [Yarn](https://classic.yarnpkg.com/en/docs/install/)
- [Java & Clojure](https://clojure.org/guides/getting_started)

### 2. Create a GitHub app

Follow the guide at <https://docs.github.com/en/free-pro-team@latest/developers/apps/creating-a-github-app>, where the user authorization "Callback URL" should be `http://localhost:3000/auth/github`.

Remember to download the `private-key.pem` which will be used for the next step. Also take note of your `App ID`, `Client ID`, and your newly generated `Client Secret` for use in step 4.

![Screenshot 2020-11-27 22-22-39 +0800](https://user-images.githubusercontent.com/479169/100460276-e0bad100-3101-11eb-8fed-1f7c85824b62.png)

**Add contents permission**:
![Screenshot 2020-11-27 22-22-57 +0800](https://user-images.githubusercontent.com/479169/100460271-def10d80-3101-11eb-91bb-f2339a52d4f8.png)


### 3. Set up PostgreSQL

Make sure you have PostgreSQL running. You can check if it's running with `pg_ctl -D /usr/local/var/postgres status` and use `pg_ctl -D /usr/local/var/postgres start` to start it up. You'll also need to make a Logseq DB in PostgreSQL. Do that with `createdb logseq`.

### 4. Add environment variables

``` bash
export ENVIRONMENT="dev"
export JWT_SECRET="xxxxxxxxxxxxxxxxxxxx"
export COOKIE_SECRET="xxxxxxxxxxxxxxxxxxxx"
export DATABASE_URL="postgres://localhost:5432/logseq"
export GITHUB_APP2_NAME="logseq-test-your-username-app"
export GITHUB_APP2_ID="your id"
export GITHUB_APP2_KEY="xxxxxxxxxxxxxxxxxxxx" #Your Github App's Client ID
export GITHUB_APP2_SECRET="xxxxxxxxxxxxxxxxxxxx"
# Replace your-code-directory and your-app.private-key.pem with yours
export GITHUB_APP_PEM="/your-code-directory/your-app.private-key.pem"
export LOG_PATH="/tmp/logseq"
export PG_USERNAME="xxx"
export PG_PASSWORD="xxx"
```

### 5. Compile to JavaScript
### 2. Compile to JavaScript

``` bash
git clone https://github.com/logseq/logseq
yarn
yarn watch
```

### 6. Start the Clojure server

1. Download jar

Go to <https://github.com/logseq/logseq/releases>, download the `logseq.jar` and put it in the `logseq` directory.

2. Run jar

``` bash
java -Duser.timezone=UTC -jar logseq.jar
```

### 7. Open the browser

Open <http://localhost:3000>.

## Windows setup

### 1. Required software

Install Clojure through scoop-clojure: <https://github.com/littleli/scoop-clojure>. You can also install [Node.js](https://nodejs.org/en/), [Yarn](https://yarnpkg.com/) and [PostgreSQL](https://www.postgresql.org/download/) through scoop if you want to.

### 2. Create a GitHub app

Follow [Step 2](#2-create-a-github-app) above if you want Logseq to connect to GitHub. If not, skip this section. The `GITHUB_APP_PEM` variable in the `run-windows.bat` needs to be set with the correct directory for your system.

### 3. Set up PostgreSQL

Make sure you have PostgreSQL running. You can check if it's running with `pg_ctl status` and use `pg_ctl start` to start it up. You'll also need to make a Logseq DB in PostgreSQL. Do that with `createdb logseq`.

### 4. Download the Clojure server

Go to <https://github.com/logseq/logseq/releases>, download the `logseq.jar` and move into the root directory of repo.

### 5. Start Logseq

Run `start-windows.bat` which is located in the repo. This will open a second terminal that runs Logseq's backend server. To completely stop Logseq, you'll need to also close that second terminal that was opened.
### 3. Open the browser

`start-windows.bat` will try to start PostgreSQL for you if it's not already started.
Open <http://localhost:3001>.

## Build errors
### 1. The required namespace `devtools.preload` is not available.
Expand Down
2 changes: 0 additions & 2 deletions clojure.bat

This file was deleted.

16 changes: 16 additions & 0 deletions public/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no" name="viewport"><link href="/static/css/style.css" rel="stylesheet" type="text/css"><link href="/static/img/logo.png" rel="shortcut icon" type="image/png"><link href="/static/img/logo.png" rel="shortcut icon" sizes="192x192"><link href="/static/img/logo.png" rel="apple-touch-icon"><meta content="Logseq" name="apple-mobile-web-app-title"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="yes" name="apple-touch-fullscreen"><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"><meta content="yes" name="mobile-web-app-capable"><meta content="summary" name="twitter:card"><meta content="A local-first knowledge base which can be synced using Git." name="twitter:description"><meta content="@logseq" name="twitter:site"><meta content="A local-first knowledge base." name="twitter:title"><meta content="https://asset.logseq.com/static/img/logo.png" name="twitter:image:src"><meta content="A local-first knowledge base which can be synced using Git." name="twitter:image:alt"><meta content="A local-first knowledge base." property="og:title"><meta content="site" property="og:type"><meta content="https://logseq.com" property="og:url"><meta content="https://asset.logseq.com/static/img/logo.png" property="og:image"><meta content="A local-first knowledge base which can be synced using Git." property="og:description"><title>Logseq: A local-first knowledge base</title><meta content="logseq" property="og:site_name"><meta description="A local-first knowledge base which can be synced using Git."></head><body><div id="root"><svg class="ls-center" fill="none" height="300" viewbox="0 0 300 300" width="300"><g filter="url(#filter0_d)"><path class="fade-in one" d="M85.2474 196.999C78.9469 195.427 75.5941 186.78 77.7586 177.685C79.9232 168.589 86.7856 162.49 93.0861 164.061C99.3866 165.632 102.739 174.279 100.575 183.375C98.4102 192.47 91.5479 198.57 85.2474 196.999Z" fill="white"></path><path class="fade-in one" d="M159.307 218.517C159.091 225.031 149.797 229.996 138.548 229.605C127.298 229.214 118.354 223.616 118.57 217.102C118.786 210.587 128.081 205.623 139.33 206.014C150.579 206.404 159.523 212.002 159.307 218.517Z" fill="white"></path><path class="fade-in one" d="M96.8481 135.55C101.197 138.758 100.722 147.042 95.7864 154.053C90.8513 161.065 83.3252 164.149 78.9764 160.941C74.6276 157.734 75.103 149.45 80.0381 142.438C84.9732 135.426 92.4993 132.343 96.8481 135.55Z" fill="white"></path><path class="fade-in one" d="M114.449 221.038C111.977 230.437 99.6731 236.491 86.9668 234.559C74.2605 232.626 65.9638 223.44 68.4357 214.04C70.9075 204.641 83.2119 198.587 95.9182 200.52C108.625 202.452 116.921 211.638 114.449 221.038Z" fill="white"></path><path class="fade-in one" d="M85.8103 132.35C75.571 131.027 67.8608 120.196 68.589 108.16C69.3173 96.123 78.2083 87.438 88.4476 88.7613C98.6869 90.0845 106.397 100.915 105.669 112.951C104.941 124.988 96.0496 133.673 85.8103 132.35Z" fill="white"></path><path class="fade-in two" d="M209.177 221.12C206.705 230.519 194.401 236.573 181.694 234.641C168.988 232.708 160.691 223.522 163.163 214.123C165.635 204.723 177.939 198.669 190.646 200.602C203.352 202.534 211.649 211.72 209.177 221.12Z" fill="white"></path><path class="fade-in two" d="M135.635 151.371C129.334 149.799 125.982 141.152 128.146 132.057C130.311 122.961 137.173 116.862 143.474 118.433C149.774 120.004 153.127 128.651 150.962 137.747C148.798 146.842 141.935 152.942 135.635 151.371Z" fill="white"></path><path class="fade-in two" d="M209.694 172.889C209.478 179.403 200.184 184.368 188.935 183.977C177.686 183.586 168.742 177.988 168.958 171.473C169.174 164.959 178.468 159.995 189.717 160.386C200.966 160.776 209.91 166.374 209.694 172.889Z" fill="white"></path><path class="fade-in two" d="M147.236 89.9221C151.584 93.1296 151.109 101.414 146.174 108.425C141.239 115.437 133.713 118.521 129.364 115.313C125.015 112.106 125.49 103.822 130.426 96.81C135.361 89.7984 142.887 86.7146 147.236 89.9221Z" fill="white"></path><path class="fade-in two" d="M164.837 175.41C162.365 184.809 150.061 190.863 137.354 188.931C124.648 186.998 116.351 177.812 118.823 168.412C121.295 159.013 133.599 152.959 146.306 154.892C159.012 156.824 167.309 166.01 164.837 175.41Z" fill="white"></path><path class="fade-in three" d="M136.198 86.7217C125.958 85.3985 118.248 74.5682 118.977 62.5316C119.705 50.4949 128.596 41.81 138.835 43.1332C149.074 44.4564 156.785 55.2867 156.056 67.3234C155.328 79.36 146.437 88.045 136.198 86.7217Z" fill="white"></path><path class="fade-in three" d="M259.564 175.492C257.092 184.891 244.788 190.945 232.082 189.013C219.375 187.08 211.079 177.894 213.551 168.495C216.023 159.095 228.327 153.041 241.033 154.974C253.739 156.906 262.036 166.092 259.564 175.492Z" fill="white"></path></g><defs><filter color-interpolation-filters="sRGB" filterunits="userSpaceOnUse" height="200" id="filter0_d" width="200" x="64" y="43"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"></feColorMatrix><feOffset dy="4"></feOffset><feGaussianBlur stddeviation="2"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"></feColorMatrix><feBlend in2="BackgroundImageFix" mode="normal" result="effect1_dropShadow"></feBlend><feBlend in2="effect1_dropShadow" in="SourceGraphic" mode="normal" result="shape"></feBlend></filter></defs></svg></div><script>window.user=null;</script><script src="/static/js/mldoc.min.js"></script><script src="/static/js/magic_portal.js"></script><script>let worker = new Worker("/static/js/worker.js");
const portal = new MagicPortal(worker);
;(async () => {
const git = await portal.get('git');
window.git = git;
const fs = await portal.get('fs');
window.fs = fs;
const pfs = await portal.get('pfs');
window.pfs = pfs;
const gitHttp = await portal.get('gitHttp');
window.gitHttp = gitHttp;
const workerThread = await portal.get('workerThread');
window.workerThread = workerThread;
})();
</script><script src="/static/js/main.js"></script><script src="/static/js/highlight.min.js"></script></body></html>
1 change: 1 addition & 0 deletions public/static
24 changes: 0 additions & 24 deletions resources/index.html

This file was deleted.

Loading

0 comments on commit 552ec6d

Please sign in to comment.