GithubHelp home page GithubHelp logo

cstahly / cherrytree Goto Github PK

View Code? Open in Web Editor NEW

This project forked from giuspen/cherrytree

0.0 1.0 0.0 68.59 MB

cherrytree

Home Page: https://www.giuspen.com/cherrytree/

License: Other

Python 22.45% Shell 0.18% Inno Setup 0.23% CSS 0.17% Roff 0.03% C++ 66.35% QMake 0.01% Makefile 0.43% M4 0.02% HTML 0.39% C 9.24% JavaScript 0.07% CMake 0.41% Dockerfile 0.01%

cherrytree's Introduction

CherryTree

A hierarchical note taking application, featuring rich text and syntax highlighting, storing data in a single XML or SQLite file. The project home page is giuspen.com/cherrytree.

Installation Guide

Links on used libraries

https://www.gtkmm.org/en/documentation.shtml https://developer.gnome.org/gtkmm-tutorial/stable/ https://developer.gnome.org/gtkmm/stable/ https://developer.gnome.org/gtkmm/stable/hierarchy.html

https://developer.gnome.org/gtksourceviewmm/stable/

https://developer.gnome.org/libxml++-tutorial/stable/ https://developer.gnome.org/libxml++/stable/

https://wiki.gnome.org/Projects/gspell https://developer.gnome.org/gspell/stable/

Build/Debug with Visual Studio Code on Linux

https://code.visualstudio.com/docs/setup/linux required installation of Extension "C/C++"

cd cherrytree
code .

Build with: Ctrl+Shift+B Debug with: F5

Build/Debug with Visual Studio Code using a container

It is possible to use a container as a full-featured development environment from VS Code. This works on any operating system that supports Docker.

  1. Install the system requirements.
  2. Open the project in VS Code.
  3. (optional) Edit .devcontainer/devcontainer.json to set your DISPLAY environment variable and/or edit other settings. It is also possible to run the container on a remote Docker host, see the comment at the end.
  4. Run the Remote-Containers: Open Folder in Container... command.
  5. See previous section for Build and Debug instructions.

To test install locally and create a package

cmake -DCMAKE_INSTALL_PREFIX=./local_usr ../
make -j$(nproc --all) && make install
cpack -G DEB

Building Cherrytree on Ubuntu 20.04

Install dependencies::

sudo apt install build-essential libxml2-utils cmake libgtkmm-3.0-dev libgtksourceviewmm-3.0-dev libxml++2.6-dev libsqlite3-dev gettext libgspell-1-dev libcurl4-openssl-dev libuchardet-dev libfmt-dev libspdlog-dev

Get cherrytree source, compile and run:

git clone https://github.com/giuspen/cherrytree.git
cd cherrytree
git submodule update --init
mkdir build
cd build
cmake ../
make -j$(nproc --all)
./build/cherrytree

Install documentation:

sudo apt install devhelp libgtkmm-3.0-doc libgtksourceviewmm-3.0-doc libglibmm-2.4-doc libpangomm-1.4-doc libxml++2.6-doc libgspell-1-doc

devhelp

xdg-open /usr/share/doc/libgtkmm-3.0-doc/reference/html/index.html
xdg-open /usr/share/doc/libgtksourceviewmm-3.0-doc/reference/html/index.html
xdg-open /usr/share/doc/libglibmm-2.4-doc/reference/html/index.html
xdg-open /usr/share/doc/libpangomm-1.4-doc/reference/html/index.html
xdg-open /usr/share/doc/libxml++2.6-doc/reference/html/index.html
xdg-open /usr/share/doc/libgspell-1-dev/html/index.html

Building Cherrytree on Arch

Install dependencies:

sudo pacman -S gtksourceviewmm libxml++2.6 gspell uchardet fmt spdlog

Get cherrytree source, compile and run:

git clone https://github.com/giuspen/cherrytree.git
cd cherrytree
git submodule update --init
mkdir build
cd build
cmake ../
make -j$(nproc --all)
./build/cherrytree

Building Cherrytree on Fedora 33

Install dependencies:

sudo dnf install @development-tools gcc-c++ libtool autoconf gtkmm30-devel gtksourceviewmm3-devel libxml++-devel libsq3-devel gettext-devel gettext intltool libxml2 gspell-devel cmake libcurl-devel uchardet-devel fmt spdlog-devel

Get cherrytree source, compile and run:

git clone https://github.com/giuspen/cherrytree.git
cd cherrytree
git submodule update --init
mkdir build
cd build
cmake ../
make -j$(nproc --all)
./cherrytree

(OPTIONAL) Download Documentation

sudo dnf install gtkmm30-doc gtksourceviewmm3-doc glibmm24-doc glibmm24-doc libxml++-doc

(OPTIONAL) Open Documentation

xdg-open /usr/share/doc/gtkmm-3.0/reference/html/index.html
xdg-open /usr/share/doc/gtksourceviewmm-3.0/reference/html/index.html
xdg-open /usr/share/doc/glibmm-2.4/reference/html/index.html
xdg-open /usr/share/doc/pangomm-1.4/reference/html/index.html
xdg-open /usr/share/doc/libxml++2.6/reference/html/index.html

Building Cherrytree on Opensuse

Install dependencies:

sudo zypper install cmake gcc-c++ gtkmm3-devel gtksourceviewmm3_0-devel gspell-devel libxml++26-devel sqlite3-devel libcurl-devel libuchardet-devel fmt spdlog-devel

Get cherrytree source, compile and run:

git clone https://github.com/giuspen/cherrytree.git
cd cherrytree
git submodule update --init
mkdir build
cd build
cmake ../
make -j$(nproc --all)
./build/cherrytree

Building Cherrytree on MacOS

Install dependencies:

brew install python3 cmake pkg-config gtksourceviewmm3 gnome-icon-theme gspell libxml++ curl uchardet fmt spdlog

Get cherrytree source, compile and run:

git clone https://github.com/giuspen/cherrytree.git
cd cherrytree
git submodule update --init
mkdir build
cd build
cmake ../
make -j$(sysctl -n hw.ncpu)
./build/cherrytree

To install:

make install

Building Cherrytree on Windows

Install MSYS2: https://www.msys2.org/ (we cover here the packages for 64 bit installation)

Launch 'MSYS2 MinGW 64-bit' terminal (there are 3 different terminals, make sure it is 64-bit otherwise it will cause issues)

Run the following command multiple times there until there are no more updates:

pacman -Syuu

Install required packages to build cherrytree:

# toolchain and cmake
pacman -S --needed --noconfirm mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
# gtkmm3, gtksourceviewmm3, libxml++2.6, sqlite3
pacman -S --needed --noconfirm mingw-w64-x86_64-gtkmm3 mingw-w64-x86_64-gtksourceviewmm3 mingw-w64-x86_64-libxml++2.6 mingw-w64-x86_64-sqlite3
# gspell, curl, uchardet, fmt, spdlog
pacman -S --needed --noconfirm mingw-w64-x86_64-gspell mingw-w64-x86_64-curl mingw-w64-x86_64-uchardet mingw-w64-x86_64-fmt mingw-w64-x86_64-spdlog
# gettext, git, nano, meld3
pacman -S --needed --noconfirm mingw-w64-x86_64-gettext git nano mingw-w64-x86_64-meld3

use native windows theme

mkdir /etc/gtk-3.0
nano /etc/gtk-3.0/settings.ini
[Settings]
gtk-theme-name=win32

console settings

nano ~/.bashrc
export LC_ALL=C
CHERRYTREE_CONFIG_FOLDER="C:/Users/${USER}/AppData/Local/cherrytree"
[ -d ${CHERRYTREE_CONFIG_FOLDER} ] || mkdir -p ${CHERRYTREE_CONFIG_FOLDER}
alias l="ls -lah --color"
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'

Get cherrytree source, compile and run:

git clone https://github.com/giuspen/cherrytree.git
cd cherrytree
git submodule update --init

# build Release (optimised)
./build.sh Release
# build Debug (not optimised, with debug symbols)
./build.sh Debug
# run cherrytree
./build/cherrytree.exe

Troubleshooting:

  • Cannot build: make sure to start 64-bit terminal
  • Cannot build: remove cherrytree/build folder and start build.sh script again
  • Cannot start cherrytree: you either have to run cherrytree from the msys2 mingw64 terminal or copy and replace cherrytree in cherrytree_0.99.X_win64_portable folder (downloaded from the site) by the new one, so dependencies are fulfilled

cherrytree's People

Contributors

ainoneko avatar akwala avatar basicmaster avatar bfloch avatar city-busz avatar ellieborden avatar eson57 avatar foreverrainbow avatar giuspen avatar goodleixiao avatar hitzhangjie avatar hugemistake avatar julianstirling avatar kolossi avatar ksmukta avatar leggewie avatar letto4135 avatar linxon avatar logenkain avatar mammoets avatar manscrober avatar marianopela avatar metal450 avatar robertovaquerici avatar spasche avatar steev avatar steveno avatar striptm avatar txe avatar zygimantus avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.