thoughtstorms

Components from Project ThoughtStorms (ThoughtStorms wiki and associated software)


License
MIT
Install
pip install thoughtstorms==0.0.63

Documentation

PLEASE NOTE : Project ThoughtStorms is now deprecated. If you are interested in a Python-based Wiki Engine, it might suit you. But my interest, and ThoughtStorms are moving to a new wiki-engine and project : CardiganBay


Overview

Project ThoughtStorms encompases the software used to run ThoughtStorms Wiki, and various historical conversion scripts and plugins which have been used to port it to different wiki-engines during its history, and some other tools to manage personal and public information with a wiki-like philosophy.

As of 2019, many of these tools are now redundant and continue in the repository for historical continuity. They have now been moved to the Others are currently in use and under active development.

Wiki Software

This repository is now mainly focused on the, currently unnamed, wiki-engine used by ThoughtStorms wiki, which is written in Python.

As of April 2019, we've ported it to Python3. There is no longer any guarantee that it will work with Python2.

As of July 2018, we've moved much of the generic functionality to a library, called "thoughtstorms", which is published on PyPI : https://pypi.org/project/thoughtstorms/.

The code for this library now lives in a separate repository : On GitHub and On GitLab

The main wiki itself, and associated templates, css etc. lives in the tswiki directory. This wiki uses the minimal Bottle framework.

Other scripts have now been moved to attic in the unlikely event that you might be looking for them.

Running the Wiki

We are now using pipenv which should handle our dependencies. If you don't want to use pipenv you'll need to install the following :

pip install bottle, pyyaml, markdown, thoughtstorms, fsquery

Or with pipenv, go to the tswiki directory and :

pipenv install
pipenv shell

Then

python wiki.py ThoughtStorms w 8000 PATH-TO-PAGES PATH-TO-SERVICE-PAGES assets

Or, with Docker Compose in the tswiki directory :

docker-compose up

(Note that this also tries to use port 8000 for the wiki. If you want to use a different port you'll need to change the docker-compose-py file. Also, this expects the pages, service_pages and assets directories to be subdirectories of tswiki. If you want the pages to be stored elsewhere, you'll also have to change the mapping in docker-compose.py

What are these wiki.py options?

wiki.py wikiname typecode port-number path-to-pages path-to-service-pages path-to-assets

The wikiname is displayed alongside page-names at the top of each page. (Useful if you are running several wikis at once and need to remember which you are looking at)

The typecode selects for the type of PageStore (and the permissions it implies). Currently, typecode 'w' makes the wiki writable by any user. Other typecodes are read-only..

port-number determines which port the wiki listens on

path-to-pages is path to directory where pages are saved

path-to-service-pages is path to a directory where extra functionality "services" store their specific data in the form of YAML files.

path-to-assets is path to directory where the html template is stored.