A free and open source local CMS for static site generators written in Flutter and Dart licensed under the GPLv3
BuhoCMS is a local Content Management System for static site generators (list of supported SSGs).
See BuhoCMS as a GUI for static site generators. Easily create or open a website, choose your theme and add your first posts. With BuhoCMS, adding and editing content is as easy as a few clicks. No more terminal commands, folder hunting or manual Front matter edits π₯³
BuhoCMS is made for... you π
...that is, everyone using a static site generator who wants an easy to use, graphical way to edit content, so that you can make the best use out of the power of a static site generator: Creating and editing content.
BuhoCMS is for you if you land in at least one of the following categories:
BuhoCMS is currently in Alpha. While most things should work as expected, bugs :bug: are likely to exist. It is a good idea to backup πΎ your website folders just in case. Also, remember that many more features are planned! :sparkles:
Download and execute the BuhoCMS-Windows.exe file from the GitHub releases page.
macOS support is planned. Unfortunately I do not currently own a macOS device; to build and test BuhoCMS, a macOS device is needed.
Supported | Planned |
---|---|
Flatpak (Flathub) | Snap |
AppImage | AUR |
.deb | .rpm |
To install BuhoCMS as a Flatpak, head over to Flathub. In order to run executable commands on your host system, you need to give the following permission in your Terminal: flatpak --user override org.buhocms.BuhoCMS --talk-name=org.freedesktop.Flatpak
To install BuhoCMS as an AppImage, download the BuhoCMS-Linux.AppImage file from the GitHub releases page, make it executable and run it. For better desktop integration consider using AppImageLauncher.
To install BuhoCMS as a .deb package, download the BuhoCMS-Linux.deb file from the GitHub releases page and install it.
These are the ways you can contribute to BuhoCMS:
Languages currently supported:
First steps:
Translating guide: Weblate support is planned. For now, go to the .arb file of the language you want to translate (for example, app_de.arb file for German) and change the text inside the "" quotation marks. Use the English translation as a reference for the text to be translated to the target language. If the keys listed in the untranslatedMessages.txt don't exist, simply create them just like the others.
Send in your translated files as a Pull request
Open an issue on GitHub: Open issue. Remember to check for duplicates and try to give important information such as the app version, your operating system, etc.
Feel free to send in a pull request! To get started with Flutter, follow this link: https://docs.flutter.dev/get-started/install
flutter pub get
to get all necessary packages. To receive all localized strings, run flutter gen-l10n
. To test the app, run the project in debug mode by selecting a device in your preferred Flutter IDE and running the app in debug modeWindows executable: Run the following command in your terminal on a Windows machine: flutter build windows
β the output file will be generated at buhocms\build\windows\runner\Release\buhocms.exe
.
Linux executable: Run the following command in your terminal: flutter build linux
β the output files, including the executable, will be generated at buhocms/build/linux/x64/release/bundle
.
General:
Hugo specific:
Project:
The packages used for this app, also listed in the pubspec.yaml file. See their respective licenses.
Package | Use case |
---|---|
context_menus | Right click context menus |
convert | Convert json |
dropdown_search | Add Front matter with a searchable Dropdown button |
file_picker | Picking file paths |
flex_color_scheme | App color schemes |
flutter | Flutter SDK |
flutter_localizations | Localization |
flutter_markdown | Markdown preview |
flutter_svg | Displaying SVG files |
intl | Localization |
markdown_toolbar | Markdown Toolbar |
menu_bar | Menu Bar |
package_info_plus | Display the programs version number |
process_run | Run terminal commands |
provider | State management for localization, themes, navigation, etc. |
shared_preferences | Saving local app data, including settings |
smooth_page_indicator | Page indicator in the onboarding screen |
url_launcher | Open links in Browser |
window_manager | Set minimum window size and window title |
This project is licensed under the GNU General Public License Version 3. For details, see LICENSE