Giter Site home page Giter Site logo

oyanghd / ficus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thysrael/ficus

0.0 0.0 0.0 70.32 MB

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

Home Page: https://ficus.world/

License: MIT License

JavaScript 37.48% CSS 18.90% HTML 0.14% Vue 43.48%

ficus's Introduction





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 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

  • 2023.04.26: Ficus 0.1.0 version
    • WYSIWYG markdown editing
    • Opening files and folders
    • Basic framework construction
    • Hot updates
    • Support for fig tree functionality, only supports fig tree display functionality, does not support fig tree editing functionality, and does not support fig forest functionality
    • - Please do not open important files with Ficus at will, as this version has a certain risk of clearing user files

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 Beijing University of Aeronautics and Astronautics, Department of Computer Science, Class of 2020. This is our team blog.

License

MIT © gg=G

ficus's People

Contributors

blore-lzn avatar cjj826 avatar hyggge avatar gmlayer0 avatar gwokhiujin avatar thysrael 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.