Giter Site home page Giter Site logo

tw5-server's Introduction

tw5-server

A local server for TiddlyWiki5 that saves and backups wikis, inspired by tw5-server.rb.

tw5-server is written in Nim, provides features of:

  • Server for TiddlyWiki5, as well as other files (e.g. images used in TW5 [img[images/*.png]]).
  • Easy to save wiki via browsers.
  • Upload images/files for using in TiddlyWiki5 via press button or drag-and-drop.
  • Backup wiki in compressed format (.gz), to save disk space.
  • Auto clean backups: keep the last one for previous months, keep all backups in current month.
  • Offer binary executable for Linux, macos, Android and windows.

Usage

Download binary executable for your operating system from github release, and run in your terminal (in Termux or other terminals if using Android).

tw5server -a:192.168.0.10 -p:8000 -d:./ -b:backup

-h usage help
-a address, defautl localhost
-p port, default 8000
-d directory to servering, default `current dir`
-b backup directory name, default `backup`
-l log saving messages to stdout

Backups auto-clean strategy:
Keep all backups in current month, keep only the newest one for previous months.

Then go to http://localhost:8000 (or other address:port specified in command) in your web browser, and click on your wiki html file.

Upload example

  1. Upload images/files (e.g. to an images directory) for use within TiddlyWiki5 (e.g. [img[images/some.png]]): Browse a file, check if to overwrite and submit, saving message will be on the right.

Upload screenshot

  1. Upload images/files via drag-and-drop: Drag a file to tw5-server page (the border will show when draging), and drop.

Drag-and-drop

tw5-server's People

Contributors

hffqyd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

dxcsithlord

tw5-server's Issues

Trying to compile tw5server for apple silicon but getting a dependency error

Hi, I downloaded the latest source zip of the latest release but am getting some dependency errors when trying to compile: (see below).

All suggestions welcome.
Thank you.

$ nim c --cpu:arm64 --os:macosx tw5server.nim
Hint: used config file '/usr/local/Cellar/nim/2.0.2/nim/config/nim.cfg' [Conf]
Hint: used config file '/usr/local/Cellar/nim/2.0.2/nim/config/config.nims' [Conf]
..................................................................................................................................................
/Users/xxxx/Downloads/tmp/tw5-server-1.2.1/tw5server.nim(12, 3) Error: cannot open file: zippy
$ which nimble
/usr/local/bin/nimble
$ nimble install zippy
    Prompt: No local packages.json found, download it from internet? [y/N]
    Answer: y
Downloading Official package list
    Success Package list downloaded.
Downloading https://github.com/guzba/zippy using git
  Verifying dependencies for [email protected]
 Installing [email protected]
  Success:  zippy installed successfully.
$ nim c --cpu:arm64 --os:macosx tw5server.nim
Hint: used config file '/usr/local/Cellar/nim/2.0.2/nim/config/nim.cfg' [Conf]
Hint: used config file '/usr/local/Cellar/nim/2.0.2/nim/config/config.nims' [Conf]
...................................................................................................................................................................
/Users/xxxx/Downloads/tmp/tw5-server-1.2.1/tw5server.nim(18, 6) Error: cannot open file: parseBody
$ 

Hosting on nginx webserver

Hello,

I've tried hosting this on nginx with the config:

location /wiki {
  proxy_pass http://127.0.0.1:10123/;
}

I used the command tw5server -p10123 to run the tw5 server, but I get 502 bad gateway. In my nginx logs I see:

2023/06/01 20:42:38 [error] 19183#19183: *149 connect() failed (111: Connection refused) while connecting to upstream, client: 192.redacted.server.ip, server: redacted.url, request: " GET /wiki HTTP/1.0", upstream: "http://127.0.0.1:10123/", host: "redacted.url"

Do you have any idea why this might be?

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.