Skip to content
/ Ficus Public

Ficus is a software for editing and managing markdown documents, developed by the gg=G team.

License

Notifications You must be signed in to change notification settings

Thysrael/Ficus

Repository files navigation





Ficus

README: 中文 | English

$\tt{Ficus}$ is a software for editing and managing markdown documents, developed by the $\tt{gg=G}$ team.

$\tt{Ficus}$ is named after the fig tree, which has the characteristics of "umbrella-like canopy, and one tree forming a forest". This is also the core service that this software wants to provide to users: to allow users' md documents to be browsed and edited like a fig tree, and to allow users' multiple md documents to be associated in various forms like a fig forest. We hope that users' experience is like the slogan of this software:

$\tt{Ficus}$ is developed based on the Vue3, Electron framework and provides installation packages for Windows, macOS, and Linux systems.

Detailed information can be obtained on the ficus website.

Preview

Rich Text Mode

Source Code Mode

Ficus Tree Mode

Ficus Forest Mode

Ficus Graph Mode

Build

You can download the packaged application directly from the download link.

If you want to build it yourself, it is recommended to use the node v16.19.1 version and install the yarn package manager. Run the following commands in the shell:

git clone [email protected]:Thysrael/Ficus.git
cd ./Ficus/
yarn install
yarn electron:build

The resulting build can be found in Ficus/dist_electron/linux_unpacked or Ficus/dist_electron/win_unpacked.

Please note that the installation path cannot contain Chinese, and for Windows users, only the Only for me option is supported in the installation program:

Run

It is recommended to use the node v16.19.1 version and install the yarn package manager. Run the following commands in the shell:

git clone [email protected]:Thysrael/Ficus.git
cd ./Ficus/
yarn install
yarn electron:serve

Architecture

The project architecture is as shown in the figure.

The project directory structure is as follows:

├── build: Resources required for building
├── public: Art style resources
│   └── css
│       └── content-theme
├── src: Project source code
│   ├── common: Public resources
│   ├── IR: FicIR 
│   │   ├── block: IR basic data structure
│   │   │   ├── base 
│   │   │   │   ├── content: Node information
│   │   │   │   ├── linkedList
│   │   │   │   └── type: Type
│   │   │   └── factory: Factory method
│   │   ├── component: IR top-level data structure
│   │   ├── history: History record
│   │   ├── manager: Data manager, the only external interface
│   │   └── utils: External tools
│   │       └── marked: Markdown lexical analyzer
│   ├── main: Electron backend
│   │   ├── filesystem: File operation method
│   │   ├── helper: Utility method
│   │   └── update: Packaging method
│   └── renderer: Vue frontend
│       ├── assets: Front-end static resources
│       ├── components: Vue components
│       │   ├── header: Top bar
│       │   ├── mindEditor: Ficus mode editor
│       │   │   └── assets
│       │   ├── richTextEditor: Rich text editor
│       │   ├── sideBar: Sidebar
│       │   └── textArea: Text editor
│       ├── store: Storage
│       └── utils
│           └── keyboardbinding: Shortcut key binding
└── test: Unit test
    ├── IR: IR test
    │   ├── data
    │   ├── factory
    │   └── manager
    └── main: Main process method test
        ├── data
        └── filesystem

We have also rewritten the software package repositories as follows:

Changelog

v0.1.0

Release Date: April 26, 2023

Description: Alpha version release.

Features Overview:

  • WYSIWYG markdown editor
  • Open files, open folders
  • Basic framework setup
  • Hot updates
  • Supports Ficus functionality, only supports Ficus diagram display, does not support Ficus diagram editing, and does not support Ficus forest functionality
  • Please do not use Ficus to open important files at will, as this version poses a certain risk of clearing user files

v0.1.3

Release Date: May 7, 2023

Description: Improved version of the alpha version.

Features Overview:

  • New Ficus functionality plugin
  • Mathematical formula completion
  • Bug fixes based on user feedback

v0.1.8

Release Date: June 5, 2023

Description: Pre-release of the beta version.

Features Overview:

  • Ficus functionality fully developed
  • Editing floating window
  • Search and replace
  • Preference settings
  • Shortcut keys
  • Image copy and paste
  • After further polishing, startup interface design, and user experience improvement, the final version of beta will be released.

v0.1.9

Release Date: June 8, 2023

Description: Pre-release 2 of the beta version.

Features Overview:

  • Bug fixes based on user feedback

v0.2.0

Release Date: June 13, 2023

Description: Beta version release.

Features Overview:

  • Bug fixes based on user feedback

Contribution

If you are interested in our project, please feel free to join us! You can submit an issue or submit a pull request.

For specific contributions or ways to support us, please refer to here.

Team

gg=G is a software engineering team consisting of seven members from the BeiHang University, School of Computer Science and Engineering, Class of 2020. This is our team blog.

License

MIT © gg=G