1
0
mirror of https://github.com/typemill/typemill.git synced 2025-01-16 21:08:20 +01:00
php-typemill/readme.md

204 lines
7.6 KiB
Markdown
Raw Normal View History

2019-11-24 07:34:44 +01:00
# About TYPEMILL
2019-10-20 12:09:45 +02:00
TYPEMILL is a lightweight flat file cms for micro-publishers. You can use it for documentations, manuals, special interest websites, and any other information-driven web-project. You can also enhance Typemill with plugins and generate professional e-books in pdf-format with it. The website http://typemill.net runs with Typemill.
2019-10-20 12:09:45 +02:00
2019-11-11 20:15:14 +01:00
![TYPEMILL Screenshot](https://typemill.net/media/tm-demo.gif)
2019-10-20 12:09:45 +02:00
## Features
2020-05-18 08:37:52 +02:00
* Website with markdown-files.
* Visual markdown editor (VUE.js) and raw markdown mode.
* Flexible drag & drop navigation.
2020-05-18 08:37:52 +02:00
* Markdown extras with
* table of contents (TOC)
* tables
* footnotes
* abbreviations
* definition lists
* notices
* math (with plugin)
* figures with captions
* Media library with images and files.
* System configurations.
* User management.
* Flexible form management with YAML-files.
* Flexible access rights.
2020-05-18 08:37:52 +02:00
* Themes (with TWIG).
* Plugins (with symfony event dispatcher).
Some plugin highlights are:
* **Ebooks**: Generate one or many professional pdf books from your typemill website.
* **Register**: Let users register to your website and give them access to pro-content.
* **Subscribe** (in work): Sell subscriptions for premium content with traditional pdf-invoices.
2019-10-20 12:09:45 +02:00
## Requirements
2022-06-12 23:05:57 +02:00
* PHP 7.4 or PHP 8.0 (does NOT run with PHP 8.1)
2019-10-20 12:09:45 +02:00
* Apache server
* mod_rewrite and htaccess
If you run a linux system, then please double check that mod_rewrite and htaccess are active!!!
## Installation
2022-05-18 21:01:19 +02:00
### Bare-metal installation
2019-10-20 12:09:45 +02:00
Download TYPEMILL from the [TYPEMILL website](http://typemill.net), unzip the files and you are done.
2022-08-12 11:51:57 +02:00
If you are a developer, you can also clone this repository. To do so, open your command line, go to your project folder (e.g. `htdocs`) and type:
2019-10-20 12:09:45 +02:00
2022-08-12 11:51:57 +02:00
```
git clone git://github.com/typemill/typemill.git
```
2019-10-20 12:09:45 +02:00
The GitHub-version has no vendor-folder, so you have to update and include all libraries and dependencies with composer. To do so, open your command line, go to your TYPEMILL folder and type:
2022-08-12 11:51:57 +02:00
```
composer update
```
2019-10-20 12:09:45 +02:00
If you did not use composer before, please go to the [composer website](http://getcomposer.org) and start to learn.
To run TYPEMILL on a **live** system, simply upload the files to your server
2022-05-18 21:01:19 +02:00
#### Make Folders Writable.
2019-10-20 12:09:45 +02:00
2022-08-12 11:51:57 +02:00
Make sure that the following folders and all their files are writable (permission `774` recursively):
2019-10-20 12:09:45 +02:00
2022-08-12 11:51:57 +02:00
* `cache`
* `content`
* `media`
* `settings`
2019-10-20 12:09:45 +02:00
You can use your ftp-software for that.
2022-05-18 21:01:19 +02:00
### Docker installation
> :warning: This image does not provide TLS support. It's perfect either for local use or behind your own proxy, you're advised.
2022-08-12 11:51:57 +02:00
Clone and edit the `config.example.php` you find in this repository and move it as `config.php`
```
git clone git://github.com/trendschau/typemill.git
cd typemill
```
Build your image locally
```
docker build -t typemill:local .
```
Run the docker image without persistence on port 8080
```
docker run -d --name typemill -p 8080:80 typemill:local
```
Run typemill with persistence
```
docker run -d \
--name=typemill \
-p 8080:80 \
-v $(pwd)/typemill_data/settings/:/var/www/html/settings/ \
-v $(pwd)/typemill_data/media/:/var/www/html/media/ \
-v $(pwd)/typemill_data/cache/:/var/www/html/cache/ \
-v $(pwd)/typemill_data/plugins/:/var/www/html/plugins/ \
-v $(pwd)/typemill_data/content/:/var/www/html/content/ \
-v $(pwd)/typemill_data/themes/:/var/www/html/themes/ \
typemill:local
```
2022-08-12 11:43:46 +02:00
A simple `docker-compose.yml` file could looked like this
```yml
version: "2.0"
services:
typemill:
image: typemill:local
volumes:
- /volume2/docker/typemill-test/settings/:/var/www/html/settings/
- /volume2/docker/typemill-test/media/:/var/www/html/media/
- /volume2/docker/typemill-test/cache/:/var/www/html/cache/
- /volume2/docker/typemill-test/plugins/:/var/www/html/plugins/
- /volume2/docker/typemill-test/content/:/var/www/html/content/
- /volume2/docker/typemill-test/themes/:/var/www/html/themes/
ports:
- 8080:80
```
#### Volumes
- `settings` : persists users profiles, site configuration, etc. (empty by default)
- `media` : persists media files (empty by default)
- `cache` : persists cache files for performance purpose (optional and empty by default)
- `plugins` : persists installed plugins (optional and empty by default)
- `content` : persists content published (will be initialized with default examples if the binded volume is empty)
- `themes` : persists installed themes (will be initialized with default examples if the binded volume is empty)
2022-05-18 21:01:19 +02:00
2019-10-20 12:09:45 +02:00
## Setup
If you visit your website first, then you will be redirected to the `/setup` page. Please create an initial user and configure your system in the author panel.
2019-10-20 12:09:45 +02:00
## Login
You can find your login screen under `/tm/login` or simply go to `/setup` and you will be redirected to the login-page, if the setup has been finished.
2019-10-20 12:09:45 +02:00
## Documentation
You can read the full documentation for writers, for theme developers and for plugin developers on the [TYPEMILL website](http://typemill.net).
2019-11-11 20:15:14 +01:00
## Licence
TYPEMILL is published under MIT licence. Please check the licence of the included libraries, too.
2019-10-20 12:09:45 +02:00
2019-11-11 20:15:14 +01:00
## Contributors & Supporters
2019-10-20 12:09:45 +02:00
2020-05-22 11:33:15 +02:00
* [Severo Iuliano](https://github.com/iusvar) manages the internationalization i18n.
2019-11-11 20:15:14 +01:00
* [Eziquel Bruni](https://github.com/EzequielBruni) edits the typemill documentation.
* [Ricky](https://github.com/rbertram90) developed the discard functionality.
* [vodaris](https://www.vodaris.de) sponsored the development of the search plugin.
2020-05-18 08:37:52 +02:00
* Translations:
* Dutch: [svanlaere](https://github.com/svanlaere)
2020-05-22 11:45:18 +02:00
* French: [Olivier Crouzet](https://github.com/oliviercrouzet)
2020-05-18 08:37:52 +02:00
* German: [trendschau](https://github.com/trendschau)
2020-05-22 11:33:15 +02:00
* Italian: [Severo Iuliano](https://github.com/iusvar)
2020-05-18 08:37:52 +02:00
* Russian: [Hide-me](https://github.com/hide-me)
2019-10-20 12:09:45 +02:00
## IMPORTANT: How to Contribute
2019-10-20 12:09:45 +02:00
Contributions are highly welcome. Please follow these rules:
* If you plan bigger changes, then please create an issue first so we can discuss it.
2022-08-12 11:51:57 +02:00
* Fork the `develop` branch from typemill. Never use the master branch, because it is protected and only contains tested releases.
* Do your changes.
* After that pull the recent develop branch again to get the latest changes.
2022-08-12 11:51:57 +02:00
* Then make a pull request for the `develop` branch.
2019-11-24 07:34:44 +01:00
You can check the [roadmap for Typemill](https://github.com/typemill/typemill/issues/35) and scroll through the issues. I will mark issues in future that are easy to start with or where help is highly appreciated.
Here are some contribution-ideas for non-coder:
2019-10-20 12:09:45 +02:00
* Share Typemill with social media.
* Write about Typemill.
2019-10-20 12:09:45 +02:00
* Improve the documentation.
2020-05-18 08:37:52 +02:00
* Find bugs and errors (open a new issue on github for it).
2019-10-20 12:09:45 +02:00
* Describe some missing features and explain, why they are important for other users.
Some ideas for devs:
2019-10-20 12:09:45 +02:00
* Fix a bug.
2019-11-24 07:34:44 +01:00
* Create or port a theme, especially for documentations, knowlegde bases or web-books.
* Create a fancy plugin.
* An auto-update functionality for the core system, for plugins and for themes is highly welcome.
2019-10-20 12:09:45 +02:00
* Improve the accessibility of html and css.
2020-05-18 08:37:52 +02:00
* Write autotests with Cypress.
2019-10-20 12:09:45 +02:00
For hints, questions, problems and support, please open up a new issue on GitHub.
2019-11-11 20:15:14 +01:00
## Support
2019-11-03 15:49:55 +01:00
This is an open source project. I love it and I spend about 20 hours a week on it (starting in 2017). There is no business model right now, but you can support this project with a donation or simply [hire me](https://trendschau.net) for implementations.
2019-11-03 15:49:55 +01:00
2019-11-11 20:15:14 +01:00
Donate: https://www.paypal.me/typemill
2019-11-24 07:34:44 +01:00
## Follow
2020-05-22 11:45:59 +02:00
Twitter: https://twitter.com/typemill