logseq/README.md

161 lines
5.9 KiB
Markdown
Raw Normal View History

2020-11-12 03:39:03 +00:00
# Logseq
2020-11-12 08:54:57 +00:00
[![latest release version](https://img.shields.io/github/v/release/logseq/logseq)](https://github.com/logseq/logseq/releases)
[![License](https://img.shields.io/github/license/logseq/logseq?color=blue)](https://github.com/logseq/logseq/blob/master/LICENSE.md)
[![Twitter follow](https://img.shields.io/badge/follow-%40logseq-blue.svg?style=flat&logo=twitter)](https://twitter.com/logseq)
[![discord](https://img.shields.io/discord/725182569297215569?label=discord&logo=Discord&color=blue)](https://discord.gg/KpN4eHY)
[![total](https://opencollective.com/logseq/tiers/badge.svg?color=blue)](https://opencollective.com/logseq)
[![Contributors](https://opencollective.com/logseq/tiers/sponsors.svg?avatarHeight=24&width=600)](https://opencollective.com/logseq)
[![Contributors](https://opencollective.com/logseq/tiers/backers.svg?avatarHeight=24&width=600)](https://opencollective.com/logseq)
A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base.
2020-11-12 03:39:03 +00:00
Use it to organize your todo list, to write your journals, or to record your unique life.
2020-11-12 03:39:03 +00:00
## Why Logseq?
[Logseq](https://logseq.com) is a platform for knowledge sharing and management. It focuses on privacy, longevity, and user control.
Notice: the backend code will be open-sourced as soon as were sure that the backend service meets the security standards.
The server will never store or analyze your private notes. Your data are plain text files and we currently support both Markdown and Emacs Org mode (more to be added soon).
In the unlikely event that the website is down or cannot be maintained, your data is, and will always be yours.
![Image of logseq](https://cdn.logseq.com/%2F8b9a461d-437e-4ca5-a2da-18b51077b5142020_07_25_Screenshot%202020-07-25%2013-29-49%20%2B0800.png?Expires=4749255017&Signature=Qbx6jkgAytqm6nLxVXQQW1igfcf~umV1OcG6jXUt09TOVhgXyA2Z5jHJ3AGJASNcphs31pZf4CjFQ5mRCyVKw6N8wb8Nn-MxuTJl0iI8o-jLIAIs9q1v-2cusCvuFfXH7bq6ir8Lpf0KYAprzuZ00FENin3dn6RBW35ENQwUioEr5Ghl7YOCr8bKew3jPV~OyL67MttT3wJig1j3IC8lxDDT8Ov5IMG2GWcHERSy00F3mp3tJtzGE17-OUILdeuTFz6d-NDFAmzB8BebiurYz0Bxa4tkcdLUpD5ToFHU08jKzZExoEUY8tvaZ1-t7djmo3d~BAXDtlEhC2L1YC2aVQ__&Key-Pair-Id=APKAJE5CCD6X7MP6PTEA)
## Feature requests
2021-03-02 05:57:16 +00:00
Please go to https://discuss.logseq.com/c/feature-requests/7.
## How can I use it?
2021-03-02 05:57:16 +00:00
1. Make sure you have registered a [GitHub account](https://github.com/join) and already created a repository (could be an old one). _Currently we only support GitHub, but more sync options (e.g. Gitlab, Dropbox, Google Drive, WebDAV, etc.) will be added soon._
2. Visit our website <https://logseq.com/>.
3. Click the "Login with GitHub" button in the upper-right corner.
4. Following the on-screen instructions, install Logseq app on your selected repository.
5. Start writing and have fun!
## Credits
Logseq is hugely inspired by [Roam Research](https://roamresearch.com/), [Org Mode](https://orgmode.org/), [Tiddlywiki](https://tiddlywiki.com/), [Workflowy](https://workflowy.com/) and [Cuekeeper](https://github.com/talex5/cuekeeper), hats off to all of them!
Logseq is also made possible by the following projects:
- [Clojure & ClojureScript](https://clojure.org/) - A dynamic, functional, general-purpose programming language
- [DataScript](https://github.com/tonsky/datascript) - Immutable database and Datalog query-engine for Clojure, ClojureScript and JS
- [OCaml](https://ocaml.org/) & [Angstrom](https://github.com/inhabitedtype/angstrom), for the document [parser](https://github.com/mldoc/mldoc)
- [isomorphic-git](https://isomorphic-git.org/) - A pure JavaScript implementation of Git for node and browsers
- [sci](https://github.com/borkdude/sci) - Small Clojure Interpreter
2020-11-12 10:50:22 +00:00
![Logseq Credits](https://asset.logseq.com/static/img/credits.png)
## Learn more
- Our blog: https://logseq.com/blog - Please be sure to visit our [About page](https://logseq.com/blog/about) for the latest updates of the app
- Twitter: https://twitter.com/logseq
- Discord: https://discord.gg/KpN4eHY - Where we answer questions, disucss workflows and share tips
- Github: https://github.com/logseq/logseq - everyone is encouraged to report issues!
2021-03-02 05:57:16 +00:00
---
2020-11-12 10:50:22 +00:00
The following is for developers and designers who want to build and run Logseq locally and contribute to this project.
2020-11-12 03:39:03 +00:00
## Set up development environment
### 1. Requirements
- [Node.js](https://nodejs.org/en/download/) & [Yarn](https://classic.yarnpkg.com/en/docs/install/)
- [Java & Clojure](https://clojure.org/guides/getting_started). (If you run into `Execution error (FileNotFoundException) at java.io.FileInputStream/open0 (FileInputStream.java:-2). -M:cljs (No such file or directory)`, it means you have a wrong Clojure version installed. Please uninstall it and follow the instructions linked.)
2020-11-12 03:39:03 +00:00
### 2. Compile to JavaScript
2020-11-12 03:39:03 +00:00
2021-03-02 05:57:16 +00:00
```bash
2020-11-27 13:34:48 +00:00
git clone https://github.com/logseq/logseq
2020-11-12 03:39:03 +00:00
yarn
yarn watch
```
### 3. Open the browser
2020-11-12 03:39:03 +00:00
Open <http://localhost:3001>.
2020-11-26 06:18:57 +00:00
### 4. Build a release
2021-03-02 05:57:16 +00:00
```bash
yarn release
```
2020-12-21 11:07:17 +00:00
### 5. Run tests
Run ClojureScript tests
2021-03-02 05:57:16 +00:00
```bash
2021-03-02 05:58:01 +00:00
yarn test
```
Run Clojure tests. (Note: `.cljc` files may be tested both by ClojureScript, and Clojure.)
2021-03-02 05:57:16 +00:00
```bash
clj -Mtest-clj
```
## Desktop app development
### 1. Compile to JavaScript
2021-03-02 05:57:16 +00:00
```bash
yarn watch
```
### 2. Open the dev app
2021-03-02 05:57:16 +00:00
```bash
yarn dev-electron-app
```
### 3. Build a release
2021-03-02 05:57:16 +00:00
```bash
yarn release-electron
```
2020-12-21 11:07:17 +00:00
## Alternative: Docker based development environment
2021-03-02 06:15:14 +00:00
Basically it just pre-installs Java, Clojure and NodeJS for your convenience.
2020-12-21 11:07:17 +00:00
### 1. Fetch sources
2021-03-02 05:57:16 +00:00
```bash
2020-12-21 11:07:17 +00:00
git clone https://github.com/logseq/logseq
```
### 2. Build Docker image
2021-03-02 05:57:16 +00:00
```bash
2020-12-21 11:07:17 +00:00
cd logseq
docker build -t logseq-docker .
```
### 3. Run Docker container
2021-03-02 05:57:16 +00:00
```bash
2020-12-21 11:07:17 +00:00
docker run -v $(pwd):/home/logseq/logseq -p 3001:3001 -p 9630:9630 -p 8701:8701 --rm -it logseq-docker /bin/bash
```
### 4. Inside the container compile as described above
2021-03-02 05:57:16 +00:00
```bash
2020-12-21 11:07:17 +00:00
cd logseq
yarn
yarn watch
```
2021-01-19 01:38:18 +00:00
## Thanks
[![JetBrains](docs/assets/jetbrains.svg)](https://www.jetbrains.com/?from=logseq)