Next-Generation scientific mind mapping.
Inspired by Docear

You can find a list of shortcuts at shortcuts.md.
There are a couple of ways to try out JabMap. In any case, you first have to start JabRef's HTTP-Server on your machine since saving, loading, and JabRef-related features such BibTeX-Nodes and importing attached PDF-files as nodes won't work unless you are running JabRef's HTTP-Server. Afterwards check out github pages where you can try JabMap in your browser!
- Ensure that you have downloaded the latest development version of JabRef from https://builds.jabref.org/main/.
- Launch JabRef.
- File > Preferences > Check "HTTP Server"
- If you don't have any BibTeX files at hand:
- Click on "Create example Library"
- Save (Button in the top left or Ctrl/Ccmd + S)
- Visit https://jabref.github.io/jabmap/
Hint: At click on "Save", a .jmp
file is created next to your .bib
file.
The following commands get the code in place and start JabRef and JabMap with the help of a handy wrapper tool called gg.cmd. A little terminal magic is required, but don't worry, we have the commands all laid out for you!
- Go to your git-repositories folder and start a new terminal session
git clone --recurse-submodules https://github.com/JabRef/jabref.git
cd jabref
- Enable nice wrapper:
curl -L ggcmd.io > gg.cmd
sh ./gg.cmd just run-gui
- Wait for JabRef to come up
- Click on "Create example Library"
- Save (Button in the top left or CTRL/CMD + S)
- File > Preferences > Check "HTTP Server"
After setting up JabRef, follow these steps to run it locally.
After setting up JabRef, you can either use JabMap on GitHub pages or follow these steps to run it locally.
- Go to your git-repositories folder and start a new terminal session
- Clone it:
git clone [email protected]:JabRef/jabmap.git
cd jabmap
- Fix branch:
git checkout jabmap
- Enable nice wrapper:
curl -L ggcmd.io > gg.cmd
- Install dependencies:
sh gg.cmd npm install
- Build:
sh ./gg.cmd npm run build
- Run:
sh ./gg.cmd npm run preview
- Now you can open http://localhost:4173/ and open a library with the corresponding map.
- Select the root node by clicking on it
- Press CTRL + B
- Select any number of BibTeX entries from the library
- Press "Cite"
You just successfully created your first BibTeX nodes!
Instead of having the JabRef GUI running, you can just run JabRef's HTTP server. There are multiple ways to do that:
If you followed the setup for JabRef above, instead of steps 5 and 6 you can simply do the following to start the server without JabRef's GUI:
sh ./gg.cmd jbang .jbang/JabSrvLauncher.java
Note: this is not recommended for trying out JabMap for the first time since it will not allow you to create a new library. Use this only if you already used JabRef before :)
- If you haven't already, clone our JabRef and follow JabRef's setup guide.
- Afterwards, open it in editor of your choice (IDEA works well for this) and locate the
jabsrv/src/test/rest-api.http
file. - Follow the steps described at the top of the file to start the server.
Alternatively you can do the following:
- Open
ServerCLI
file located at./jabsrv-cli/src/main/java/org.jabref.http.server.cli
- Execute its
main()
method
More about starting the server in JabRef's server documentation
Now that you've tried it, here is how to build and install it. We hope to provide a downloadable installer in the future, but for now you have to build the app yourself. This section is more targeted towards Currently, there is no production build available for download so you have to build it yourself :3
Firstly ensure you have nvm
(Node version manager) and Node.js
installed:
- Open terminal (you may have to run it with administrator permissions)
- Install
nvm
or update your version by running one of following install scripts in your terminal (more information about these in nvm documentation):-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
or
-
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
-
- Install
npm
andnode.js
by runningnvm install v24.0.1
(or newer) - At the end, ensure installation was successful by running
npm -v
andnode -v
(you may need to reboot your system before this step)
After you ensured the basic setup is complete, clone this repository onto your machine and open a terminal session at the project root.
Now you should be able to run the following commands:
npm install
- this will install / update all necessary packages in a./node_modules
directory.npm run bundle
- this will bundle the project into the./electron-dist
directory.
If bundling fails with ERROR: Cannot create symbolic link
, you have to do the following:
- Download the
winCodeSign
package using this link. - Extract downloaded archive into
C:\Users\<YourUserName>\AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.6.0\
- Retry running the
npm run bundle
command
More about this workaround in this issue.
On Linux and Mac, there is a bug with npm and optional dependencies (See this issue. Should you encounter this bug after running npm install
, remove the package-lock.json
file and node-modules
directory and run npm i
. Then, simply continue with step 2.
After a successful build you can finally start the app located at ./electron-dist/win-unpacked/JabMap.exe
.
Optionally you can install it by opening ./electron-dist/JabMap Setup 1.0.0.exe