Solo
Introduction
Solo is a Java open-source blogging system that can be set up with one command and has 15+ sets of elaborate skins. In addition, Solo has a very active community. After the article is shared with the community, it can be seen by many people and generates rich interaction.
The first version of Solo was released in 2010 and has been very mature so far. Please feel free to use
Features
You should use every function Solo has deposited so far. We will not add features that only "20%" users use. Only in this way can we keep the blog system pure and light enough to bring a simple user experience.
- Markdown / Emoji
- Polymeric classification / Tags
- Custom navigation (pages, links)
- Drafts
- Comment/Reply Email Notification
- Random Articles / Related Articles / Sticky / Update Notification
- Custom article permanent link
- Custom site SEO parameters
- Custom announcement / footer
- Multiple signature columns
- Code block highlighting
- Multi-skin, multi-end fitting / Community skin
- Multilingual / International
- Upload local / Qiniu
- Friendship link management
- Multi-user writing, team blog
- Hexo/Jekyll Import
- SQL / JSON / Markdown Export
- Plugins
- Atom / RSS Feed
- Sitemap
- MetaWeblog API
- CDN Static resource separation
If there is a new version available, the upgrade process is also very simple. You just need to redeploy the new version without running any additional scripts.
Screenshots
Edit
Skin
Front
Installation
After the JDK environment is ready, download the latest Solo package decompression and enter the decompression directory to execute:
- Windows:
java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.solo.Starter
- Unix-like:
java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.solo.Starter
Run with docker?
docker volume create solo_datas && docker run --privileged --name solo --restart=unless-stopped -p 8080:8080 -v solo_datas:/opt/b3log/backup/ -d 88250/solo
See the Solo User Guide for more details. In addition, if you want to use Solo but do not want to maintain the server yourself, you can purchase our built Solo and use it directly.
Documents
- User Guide: Installation, configuration, backup, and frequently asked questions
- Dev Guide: Development environment, project structure, framework description
- Skin Dev Guide: Development steps, template variables
- Plugin Dev Guide: Plugin mechanism, process flow
Stack
- Backend framework: In order to reduce the memory footprint of the server as much as possible and try some technical ideas along the way, we have developed the Latke framework and built on this basis Solo, Sym, XiaoV and other products. These products will in turn put demands on the framework. This is a mutually beneficial and co-evolutionary benign development process
- Frontend framework: In order to reduce the complexity, Solo's front-end part only depends on components such as jQuery, editor, and code highlighting. The SPA framework and skin responsive UI of the management background are all realized by us.
There is no best wheel, only the most suitable wheel. BTW, if you want to study how to make web wheels, Solo is a good entry.
In addition, in order to ensure the quality of Solo, we have also made a lot of efforts, including:
- Uniform code style
- Complete javadoc comments
- Strict branch and defect tracking management
- Continuously improved test cases, continuous integration
Community
Everyone can discuss the project through the following two ways to help the project develop:
- Solo Board
- Report Issue
We are very much looking forward to your joining the project. Whether it is feedback or code patches, it is a complete love for Solo
License
This software is open sourced under the GNU Affero General Public License, Version 3.
Credits
The birth of Solo was inseparable from the following open source projects:
- jQuery: The most widely used JavaScript tool library
- CodeMirror: Markdown editor kernel
- SyntaxHighlighter: A code highlighting library
- Highlight.js: Another code highlighted library
- emojify.js: Frontend emoji processing library
- jsoup: Java HTML parser
- flexmark: Java markdown processor
- marked: NodeJS markdown processor
- Apache Commons: Java tool library
- emoji-java: Java emoji library
- FreeMarker: Java template engine
- H2: Java SQL database
- Jetty: Lightweight Java Web container
- Latke: Simple and efficient Java Web framework
- IntelliJ IDEA: wonderful IDE