commit99a2d333f9Author: rcmerci <rcmerci@gmail.com> Date: Sat Nov 5 00:04:17 2022 +0800 dev: restart sync when code changed commit4682274e10Author: kv-gits <26402310+kv-gits@users.noreply.github.com> Date: Fri Nov 4 18:08:43 2022 +0300 Update develop-logseq-on-windows.md JRE x64 commitfcb5d206b2Author: rcmerci <rcmerci@gmail.com> Date: Fri Nov 4 17:36:34 2022 +0800 fix: calculate s3-key length commite780272d12Author: rcmerci <rcmerci@gmail.com> Date: Fri Nov 4 17:32:19 2022 +0800 enhance(sync): filter pages whose page-name is too long commitd45e5507b5Author: Peng Xiao <pengxiao@freewheel.tv> Date: Thu Nov 3 13:10:58 2022 +0800 fix: e2e issue commitc03b8503b0Author: Peng Xiao <pengxiao@freewheel.tv> Date: Thu Nov 3 11:35:44 2022 +0800 test(whiteboard): new e2e cases commitfbbcb1f862Author: Peng Xiao <pengxiao@freewheel.tv> Date: Thu Nov 3 10:53:45 2022 +0800 fix: onboarding condition commit26f08061acAuthor: Peng Xiao <pengxiao@freewheel.tv> Date: Thu Nov 3 10:43:59 2022 +0800 fix(whiteboard): add loading when populating onboarding whiteboard commite8d1c1baa7Author: Peng Xiao <pengxiao@freewheel.tv> Date: Wed Nov 2 20:45:33 2022 +0800 feat(whiteboard): onboarding whiteboard commit2f5680bd49Author: Peng Xiao <pengxiao@freewheel.tv> Date: Tue Nov 1 10:51:42 2022 +0800 wip commit48cfa27552Author: Peng Xiao <pengxiao@freewheel.tv> Date: Mon Oct 31 20:46:44 2022 +0800 wip onboarding template commit3f17fd2cebAuthor: yoyurec <yoyurec@gmail.com> Date: Thu Nov 3 13:38:25 2022 +0200 fix: add missed mark css vars commit8dfab3bd13Author: Konstantinos Kaloutas <konstantinos@logseq.com> Date: Thu Nov 3 21:26:46 2022 +0200 fix: allow custom protocols commitdda618ca8fAuthor: Tienson Qin <tiensonqin@gmail.com> Date: Fri Nov 4 22:32:13 2022 +0800 fix: lint warning commit6c5c3bb96fAuthor: Tienson Qin <tiensonqin@gmail.com> Date: Fri Nov 4 20:26:19 2022 +0800 fix: some files may not have ext
3.3 KiB
Build Logseq Desktop on Windows
Intro
This is a guide on creating Logseq development environment on Windows with PowerShell. Non-platform specific instructions like Develop Logseq should also be referenced.
Pre-requisites
- Ensure
Set-ExecutionPolicy Unrestricted(or other equivalent) - Good network connection. Here's An example of setting up proxy in PowerShell
- Node.js 16.x
- Clojure (follow this Guidance)
- JRE 8 (required for Clojure)
- Visual Studio (required for desktop app)
(updated 20220218. May confirm via JAVA_VERSION and NODE_VERSION in THIS FILE)
An example of installing pre-requisites on Windows
- Install Chocolatey
- Install JRE (only x64, x32 will not work)
- Install NVM for Windows, Node.js, and Yarn
choco install nvm nvm install 16.13 (or whatever version) nvm use 16.13 npm install -g yarn nvm use 16.13 - Install clj-on-windows
Congrats! The pre-requisites are ready.
Set-up development environment (web app)
The basic idea is replacing the clojure commands in package.json to clj.
Go to your cloned Logseq repo. Then install dependencies, execute the clj equivalent of yarn watch. Refer THIS if you want to setup proxy in PowerShell.
-
Copy files in
resourcestostatic -
Compile static assets(css, icons...)
yarn add --dev gulp yarn yarn gulp:watch -
Open another powershell window, and run
yarn cljs:watch. Clojure CLI will pull dependencies from Maven and Clojars, build the app and start the development server. Refer THIS if your network access to Maven and Clojars is unstable.
Now you can access the app via http://localhost:3001 and all changes to the code will be watched.
Set-up development environment (desktop)
To run the desktop app in development mode, after setting up web app development environment, run following commands which are equivalent to yarn dev-electron-app:
cd static
yarn
yarn electron:dev
The desktop app should pop-up on your screen.
During the build process node-gyp may complain that it cannot find Visual Studio. Try building the app in Developer Powershell for VS(shipped with Visual Studio). If this does not work for you, This issue may be helpful.
An example of setting up proxy in PowerShell
$env:GLOBAL_AGENT_HTTPS_PROXY='http://<proxy-host>:<proxy-port>'
$env:ELECTRON_GET_USE_PROXY='true'
$env:HTTPS_PROXY='http://<proxy-host>:<proxy-port>'
$env:HTTP_PROXY='http://<proxy-host>:<proxy-port>'
Set up Clojure CLI repository mirror
add the following pair to deps.edn:
:mvn/repos {
"central" {:url "https://maven.aliyun.com/repository/public"}
"clojars" {:url "https://mirrors.tuna.tsinghua.edu.cn/clojars"}
}
The mirrors above are friendly to Chinese developers(with bad network), developers with self-hosted repositories can use their own services.