WIP: custom wiki in golang that utilizes git and serves pages with html, markdown, and css support https://tcp.wiki
Go to file
2024-02-16 03:33:54 -07:00
assets implement config file and local directory 2024-02-15 16:28:01 -07:00
src implement config file and local directory 2024-02-15 16:28:01 -07:00
.gitignore added better server handling and branch support 2023-04-12 16:22:36 -06:00
config.toml implement config file and local directory 2024-02-15 16:28:01 -07:00
go.mod Bump github.com/go-git/go-git/v5 from 5.6.1 to 5.11.0 2024-02-16 10:33:33 +00:00
go.sum Bump github.com/go-git/go-git/v5 from 5.6.1 to 5.11.0 2024-02-16 10:33:33 +00:00
README.md implement config file and local directory 2024-02-15 16:28:01 -07:00

TCP-WIKI

Feel free to commit, leave suggestions/ideas, issues, or really anything <3

What is TCP-WIKI ?

example screenshot

TCP.WIKI is a secure and verifiable wiki platform designed for projects, code, courses, documents, articles, blogs, tutorials, and more.

Project Goals

The aim is to provide a secure, minimal, and easily verifiable wiki environment that supports a wide range of content types, from technical documentation, to educational materials, to blogs, and more.

Setup

First clone this repository:

git clone https://git.tcp.direct/S4D/tcp-wiki.git

Then you have to cd into the repo's folder and run/compile:

cd tcp-wiki
go run ./src

Then you goto your browser and visit: http://127.0.0.1:8080/

Want to use with your own data?

All you have to do is modify the following lines in the config.toml file:

[Git]
UseGit = true # Set to false to use LocalPath
RepoURL = "https://git.tcp.direct/S4D/tcp-wiki.git" # Your Repo Here
Branch = "main" # Your Repo Branch Here
LocalPath = "data" # Directory to clone the git repo too

Change the RepoURL line https://git.tcp.direct/S4D/tcp-wiki.git to your repo link, change main to your specific repo's branch and you should be good to go!

Want to use a local directory other then git repo?

To do this you just need to set UseGit to false and set your directory in config.toml

[Git]
UseGit = false # Set this to false 
RepoURL = "" # Ignored
Branch = "" # Ignored
LocalPath = "/home/crazy/blog" # The directory of your project

make sure to also set LocalPath to the directory of your project

Want to use your own theme/layout?

Have a look at the assets/ directory for the templates

TODO

  • config file
  • Webhook support for auto pull on push/update of the git repo
  • Git Branch support
  • add a star/upvote/like feature for pages
  • edit/version tracker
    • Author
    • last edited
    • last editor/commit - maybe working
    • PGP Signed & Verification
  • pgp signed intergration
  • comments using bitcask - generated in comments.db/
    • verification - no login pgp
    • captcha
    • sub rating system
    • sort by date etc
    • reply to replies
    • set security controls per page
    • auto refresh on post
  • dynamically generated links for all avaiable pages
    • sitemap - kinda
    • working pages
    • image support