Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,342 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gopad: API server

General Workflow Join the Matrix chat at https://matrix.to/#/#gopad:matrix.org Codacy Badge Go Reference GitHub Repo Hosted By: Cloudsmith

Caution

This project is in active development and does not provide any stable release yet, you can expect breaking changes until our first real release!

Gopoad will be a simple web interface to write and update markdown-based documents. You can compare it with an Etherpad, just focused on markdown writing and formatting. I thought it's time to implement a shiny application with Go for the API and with VueJS for the UI.

Install

You can download prebuilt binaries from the GitHub releases or from our download site. Besides that we also prepared repositories for DEB and RPM packages which can be found at [Cloudsmith][pkgrepo]. If you prefer to use containers you could use our images published on GHCR, Docker Hub or Quay. You are a Mac user? Just take a look at our homebrew formula. If you need further guidance how to install this take a look at our documentation.

Package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.

Prerequisites

We use mise to manage all required tools and their versions. Install it by following the official installation instructions, then run the following commands inside the repository to activate mise and install all tools defined in mise.toml:

mise trust
mise install

Build

Since all required commands ar part of our go-task taskfile the commands you got to execute are quite simple:

git clone https://github.com/gopad/gopad-api.git
cd gopad-api

task fe:install fe:build be:build
./bin/gopad-api -h

We are embedding all the static assets into the binary so there is no need for any webserver or anything else beside launching this binary.

Development

If you are using the provided DevContainers you could directly start without installing mise on your system since it will launch a feature for it.

To start developing on this project you have to execute only a few commands in multiple terminal tabs or windows:

task watch:server
task watch:frontend

The development server of the backend should be running on http://localhost:8080 while the frontend should be running on http://localhost:5173. Generally it supports hot reloading which means the services are automatically restarted/reloaded on code changes.

Security

If you find a security issue please contact gopad@webhippie.de first.

Contributing

Generally we are following conventional commits when we apply changes. That way we are able to generate proper changelogs for every release. Please use always pull requests to integrate new functionalities or to fix issues.

For the release process we are following semantic versioning which clearly indicates if a new version just resolves bugs, includes new features or even includes breaking changes.

After installing the tools via mise install as described above set up the pre-commit hooks so they run automatically on every commit:

pre-commit install --hook-type pre-commit --hook-type commit-msg

pre-commit is managed by mise and will be available after mise install.

If you have changed something on the source you should simply commit following the mentioned conventions:

git checkout -b feat/new-feature
git add --all
git commit -m 'feat: added awesome new feature'
git push --set-upstream origin feat/new-feature

After pushing your changes into the Git repository you should create a pull request on GitHub. If the pull request have been merged and everything built fine it will also create automatically a new release at least once a week.

Authors

License

Apache-2.0

Copyright

Copyright (c) 2018 Thomas Boerger <thomas@webhippie.de>

About

Server for Etherpad for markdown with Go

Topics

Resources

Contributing

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages