1
0
mirror of https://github.com/typemill/typemill.git synced 2025-04-13 16:51:52 +02:00

Version 1.1.3 Introduce Admin Dashboard

This commit is contained in:
Sebastian 2018-04-20 22:29:57 +02:00
parent f8dc7093bf
commit ef704daa6e
14 changed files with 137 additions and 113 deletions

2
cache/lastCache.txt vendored
View File

@ -1 +1 @@
1524067221
1524081096

View File

@ -26,5 +26,7 @@
"Typemill\\": "system/",
"Plugins\\": "plugins/"
}
}
},
"minimum-stability": "dev",
"prefer-stable": true
}

76
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "1ad663bcab9db15e71762a8ac4872c03",
"content-hash": "90ca8c01f77b4f6cff7e68e20e9097f3",
"packages": [
{
"name": "container-interop/container-interop",
@ -39,16 +39,16 @@
},
{
"name": "erusev/parsedown",
"version": "1.7.1",
"version": "1.8.0-beta-1",
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown.git",
"reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1"
"reference": "600db7e4de545f9b2915ade9e0684a07a1f00a3e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1",
"reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1",
"url": "https://api.github.com/repos/erusev/parsedown/zipball/600db7e4de545f9b2915ade9e0684a07a1f00a3e",
"reference": "600db7e4de545f9b2915ade9e0684a07a1f00a3e",
"shasum": ""
},
"require": {
@ -81,7 +81,7 @@
"markdown",
"parser"
],
"time": "2018-03-08T01:11:30+00:00"
"time": "2018-04-08T01:46:30+00:00"
},
{
"name": "erusev/parsedown-extra",
@ -89,16 +89,22 @@
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown-extra.git",
"reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c"
"reference": "51cdff11d89e1471e447fda487bbee4956b207c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/0db5cce7354e4b76f155d092ab5eb3981c21258c",
"reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c",
"url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/51cdff11d89e1471e447fda487bbee4956b207c0",
"reference": "51cdff11d89e1471e447fda487bbee4956b207c0",
"shasum": ""
},
"require": {
"erusev/parsedown": "~1.4"
"erusev/parsedown": "^1.8.0|dev-master",
"ext-dom": "*",
"ext-mbstring": "*",
"php": ">=5.3.6"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35"
},
"type": "library",
"autoload": {
@ -125,7 +131,7 @@
"parsedown",
"parser"
],
"time": "2015-11-01T10:19:22+00:00"
"time": "2018-04-08T01:24:10+00:00"
},
{
"name": "jbroadway/urlify",
@ -229,16 +235,16 @@
},
{
"name": "paragonie/random_compat",
"version": "v2.0.11",
"version": "v2.0.12",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
"reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8"
"reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8",
"reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
"reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
"shasum": ""
},
"require": {
@ -273,7 +279,7 @@
"pseudorandom",
"random"
],
"time": "2017-09-27T21:40:39+00:00"
"time": "2018-04-04T21:24:14+00:00"
},
{
"name": "pimple/pimple",
@ -645,16 +651,16 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v3.4.6",
"version": "v3.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "58990682ac3fdc1f563b7e705452921372aad11d"
"reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/58990682ac3fdc1f563b7e705452921372aad11d",
"reference": "58990682ac3fdc1f563b7e705452921372aad11d",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fdd5abcebd1061ec647089c6c41a07ed60af09f8",
"reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8",
"shasum": ""
},
"require": {
@ -704,11 +710,11 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
"time": "2018-02-14T10:03:57+00:00"
"time": "2018-04-06T07:35:25+00:00"
},
{
"name": "symfony/yaml",
"version": "v2.8.36",
"version": "v2.8.38",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
@ -757,16 +763,16 @@
},
{
"name": "twig/twig",
"version": "v1.35.2",
"version": "v1.35.3",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "9c24f2cd39dc1906b76879e099970b7e53724601"
"reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/9c24f2cd39dc1906b76879e099970b7e53724601",
"reference": "9c24f2cd39dc1906b76879e099970b7e53724601",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
"reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
"shasum": ""
},
"require": {
@ -774,8 +780,8 @@
},
"require-dev": {
"psr/container": "^1.0",
"symfony/debug": "~2.7",
"symfony/phpunit-bridge": "~3.3@dev"
"symfony/debug": "^2.7",
"symfony/phpunit-bridge": "^3.3"
},
"type": "library",
"extra": {
@ -818,7 +824,7 @@
"keywords": [
"templating"
],
"time": "2018-03-03T16:21:29+00:00"
"time": "2018-03-20T04:25:58+00:00"
},
{
"name": "vlucas/valitron",
@ -826,12 +832,12 @@
"source": {
"type": "git",
"url": "https://github.com/vlucas/valitron.git",
"reference": "c56bf573f2aab7dcd55fd110f518f89b4b5a1278"
"reference": "4c9ea18a65bebe0f96f84c0a2ed3a692c887bfc3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/valitron/zipball/c56bf573f2aab7dcd55fd110f518f89b4b5a1278",
"reference": "c56bf573f2aab7dcd55fd110f518f89b4b5a1278",
"url": "https://api.github.com/repos/vlucas/valitron/zipball/4c9ea18a65bebe0f96f84c0a2ed3a692c887bfc3",
"reference": "4c9ea18a65bebe0f96f84c0a2ed3a692c887bfc3",
"shasum": ""
},
"require": {
@ -864,17 +870,17 @@
"validation",
"validator"
],
"time": "2018-03-08T15:48:01+00:00"
"time": "2018-04-09T07:33:49+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"minimum-stability": "dev",
"stability-flags": {
"erusev/parsedown-extra": 20,
"vlucas/valitron": 20
},
"prefer-stable": false,
"prefer-stable": true,
"prefer-lowest": false,
"platform": [],
"platform-dev": []

View File

@ -4,11 +4,10 @@ TYPEMILL has a limited set of features right now. It transforms a bunch of **mar
This is what you can **do with TYPEMILL**:
- Setup your website with an easy setup form.
- Create your website content with simple folders and files (markdown).
- Choose a static startpage for your website (optional).
- Change the theme (design).
- Create a website content with simple folders and files (markdown).
- Use an author panel to configure your site, choose themes and activate plugins.
- Create your own theme with HTML, CSS and Twig (a template language for PHP).
- Create your own plugins.
This is, what **TYPEMILL does** for you:
@ -19,4 +18,6 @@ This is, what **TYPEMILL does** for you:
- It adds hierarchic numbers to your chapters and pages.
- It makes everything responsive for mobile devices.
There is a roadmap for TYPEMILL, so there will be a lot more useful features in near future.
Right now there is no content editor, so you have to create and edit your content offline with a markdown editor and upload the files with an FTP software.
But a content editor will follow soon and we have a great roadmap for TYPEMILL.

View File

@ -1,13 +1,22 @@
# Roadmap
There are a lot of plans for future releases of TYPEMILL, but it also follows the concept of simplicity. To prevent TYPEMILL from becomming a feature soup, it will strictly focus on the writers needs. These are some ideas:
There are a lot of plans for future releases of TYPEMILL, but it also follows the concept of simplicity. To prevent TYPEMILL from becomming a feature soup, it will strictly focus on the writers needs.
- Right now a plugin system is in work to make typemill more extensible.
- An admin plugin is planned. With this, you can create content online.
- Image- and media-management is planned with the admin plugin.
- Clean API-design is planned.
- More options to create navigations.
Here are some milestones of the past:
- Introduction of TYPEMILL version 1.0.0
- Added a table of contents tag (TOC) with version 1.0.5
- Introduced plugins with version 1.1.0
- Added an author panel to configure the system with version 1.1.3
And here is the roadmap for the future:
- Add a content editor to create and edit your pages online.
- Add an Image- and media-management.
- Support mathematical formulars for scientific text works.
- Create additional output formats like mobi, epub and pdf.
- Create a clean API.
- More themes for special publications like documentations, books or lyrics.
- Additional output format like mobi, epub, static html and more.
- Create a lot of cool plugins
If you miss a feature or if you found a bug, please report it on GitHub.
If you miss a feature or if you found a bug, please report it on [GitHub](https://github.com/trendschau/typemill).

View File

@ -2,7 +2,7 @@
TYPEMILL is a modern and lightweight software with nearly no requirements. All you need is:
- **A webserver** (to host TYPEMILL)
- **A webserver (Apache)** (to host TYPEMILL)
- **PHP 5.6+** (to run TYPEMILL)
- **FTP** (to upload your content files)

View File

@ -4,9 +4,8 @@ The installation of TYPEMILL is as simple as that:
- Go to [typemill.net](http://www.typemill.net) and download the TYPEMILL files.
- Upload the files to your server.
- Go to `www.your-typemill-website.com/setup` and fill out the form.
You can also setup TYPEMILL manually with the `settings.yaml.example` file, that you can find in the root folder of TYPEMILL.
- Go to `www.your-typemill-website.com/setup` and create an initial user.
- Login and configure your system, your themes and your plugins.
Don't forget to make some folders and files writable (set permission to `774`):
@ -14,7 +13,11 @@ Don't forget to make some folders and files writable (set permission to `774`):
- `\settings` folder and files
- `\content` folder and files
If you have any trouble to understand the instructions above, read the following detailed description.
All settings and users are stored in the folder `settings`. You can manually edit these files, but it is not recommended because it can crash the system if done wrong.
You can configure your system online, but there is no content editor yet. So for time beeing, you have to edit your content offline with a markdown editor and upload the files with an FTP software. If your changes are not visible at once, press `F5` to refresh the cache.
If you need more detailed instructions, please read on.
## Download
@ -29,38 +32,29 @@ If you use GitHub, then you can find the repository of TYPEMILL on [github/trend
git clone "https://github.com/trendschau/typemill.git"
````
TYPEMILL uses some nice frameworks and libraries, which can be found in the folder `\system\vendor`. Make sure, that all these libraries are completely downloaded. Run composer to update all libraries. If you don't have composer installed yet, head over to the [composer website](https://getcomposer.org/) and install it. After that, open your command line, go to your TYPEMILL folder and type:
TYPEMILL uses some nice frameworks and libraries, which can be found in the folder `\system\vendor`. This folder is not included in the git version. If you use the git version, you have to download all the libraries (dependencies) with composer. If you don't have composer installed yet, head over to the [composer website](https://getcomposer.org/) and install it. After that, open your command line, go to your TYPEMILL folder and type:
````
composer update
````
The exact command might vary depending on your composer installation. If you face any problems, please check the documentation of composer.
The exact command might vary depending on your local composer installation and configuration. If you face any problems, please check the documentation of composer.
That's it!
## Setup
## Permissions
There are three ways to setup your TYPEMILL website:
- **Recommended**: Copy the file `settings.yaml.example` in the root folder of TYPEMILL and rename it to `settings.yaml`. Fill out the settings directly in the file. It is human readable, so no problem for you!
- **Recommended**: If you run you website on your local machine, you can also go to `your-local-adress/setup` and fill out the setup form.
- **Be careful**: You can also upload TYPEMILL to a live server and fill out the form live. Just visit `your-website.com/setup`. But be aware, that everybody can visit this adress and setup your website easily. It is not a big deal, because you can always upload your own `settings.yaml` file with your ftp program.
If there is a valid `settings.yaml` file in your root folder, then the adress `your-website.com/setup` is not active anymore.
Read all details about the settings in the next chapter.
## Upload
To run a live website, simply upload TYPEMILL to your webserver (e.g. with ftp). You have to make some folders and files writable:
The following three folders and all files and folders inside must be writable:
- `\cache`
- `\settings`
- `\content`
To make the folders and files writable, use your ftp programm, click on the folder, choose `permissions` and change the permission to `744`. Use the recursive permission for all containing files and folders. If `744` does not work, try `774`.
To fill the website with your own content, just upload your folders and markdown files to the `content` folder of TYPEMILL (with ftp again). Visit your website and press `F5` to actualize the cache.
## htaccess
If you run your website with https (recommended) or if you want to redirect www-urls to non-www urls, then please check the htaccess file in the root folder. There are several use cases already prepared and you only have to uncomment them.
## Run Locally

View File

@ -1,44 +1,20 @@
# Settings
TYPEMILL offers some settings for customization. There are two ways to add settings:
As of Version 1.1.3 you can edit all settings in the new authoring panel of TYPEMILL. Just login and go to settings. There you can edit:
1. Visit `your-website.com/setup` and use the setup form to customize the settings or
2. Rename the file `settings.yaml.example` to `settings.yaml` and edit the file manually. You will find the file in the settings folder of TYPEMILL.
* The system (basic settings).
* Themes (choose themes and configure it).
* Plugins (activate plugins and configure them).
* Users (create, update and delete).
More details are described in the previous chapter about the installation of TYPEMILL.
All settings are stored in the `\settings` folder of TYPEMILL. It is not recommended to edit the settings manually, because it can crash the system if done wrong.
## Standard Settings
## Advanced Settings
You will find six standard settings in the file `settings.yaml.example`:
There are some settings that are not available via the author panel. Most of them are not really useful, but if you are a developer and if you develop a theme or a plugin locally, you probably want to display a detailed error report. To do so, simply add the following line to the settings.yaml:
````
title: MyWebsite
author: 'Your Name'
copyright: ©
year: '2017'
theme: typemill
startpage: true
displayErrorDetails: true
````
The settings are written in YAML, a simple and human readable format. Simply add
- A title for your website. Keep it short, or it will destroy the design.
- An author name (or several author names)
- A licence or copyright like `©`, `cc-by` or whatever you want.
- A year. This should be the starting year. The theme will add a range to the present like 2015 - 2017.
- A theme. Add the name of the theme folder here.
- A startpage. Add `false` or `true`.
## Advanced settings
You can also add some advanced settings, if you really want.
````
themeFolder: themes
contentFolder: content
displayErrorDetails: false
````
It probably does not make much sence to change the theme folder or the content folder, but you can do so if you want.
If you are a developer and if you run TYPEMILL on your local machine, you can set `displayErrorDetails` to `true` for a detailed error reporting. Don't forget to set it back to `false` before you deploy the website live. It is not secure to show the world your internal errors and many hosters will turn off all public error reports by default.
Don't forget to set it back to `false` before you deploy the website live. It is not secure to show the world your internal errors and many hosters will turn off all public error reports by default.

View File

@ -1,5 +1,25 @@
# Update
If your version of TYPEMILL is not up to date, you will find an update notice in your footer.
If your TYPEMILL version or any plugin or theme is not up to date, you will find update notices in the author panel.
To update your TYPEMILL version, simply download the latest version of TYPEMILL on ![the TYPEMILL website](http://typemill.net). Then delete the old `system` folder on your server and upload the new system folder. Sometimes it is a good idea to delete the content in the cache folder too.
## Simple Update
To update your TYPEMILL version, simply download the latest version of TYPEMILL on [the TYPEMILL website](http://typemill.net). Then delete the old `system` folder on your server and upload the new system folder.
## Major Update
TYPEMILL is in early stage and there are a lot of basic changes right now. When there are basic changes, then you should update everything like this:
* Backup your settings folder
* Keep your content folder
* Delete everything else:
* cache
* plugins
* settings
* system
* themes
* Upload the new folders
* Go to `your-typemill-website.com/setup` and create a new user.
* Setup your website again in the author panel.
In most cases you can also user your old settings-file from your backup, but if it does not work, simply setup the system again.

View File

@ -2,6 +2,18 @@
This is the version history with some release notes.
## Version 1.1.3 (19.04.2018)
**Please follow the instructions for major updates** in the [documentation](/gettings-started/update).
Version 1.1.3 introduces an author panel. Now you can authenticate, configure the system, themes and plugins and manage users. This is the first step towards a full authoring panel that helps you to manage, create and edit everything online.
* Author panel.
* Authentication.
* Configuration of the system, the theme and the plugins.
* User management (create update and deleted).
* Bugfix: Footnotes in Markdown didn't work due to parsedown library. Fixed in the new library version.
## Version 1.1.2 (15.03.2018)
With version 1.1.2 we added the possibility to configure the theme in the setup a bit more. We also fixed a bug in the htaccess. So next to the "system"-folder, you should also update the theme-folder and the htaccess-file. As always, backup your settings.yaml-file, then delete it and setup your website again (visit /setup).

View File

@ -30,7 +30,7 @@ class Analytics extends Plugin
$analyticSettings = $this->settings['settings']['plugins']['analytics'];
if(isset($analyticsSettings['tool']))
if(isset($analyticSettings['tool']))
{
/* fetch the template, render it with twig and add javascript with settings */
if($analyticSettings['tool'] == 'piwik')

View File

@ -234,9 +234,13 @@ class PageController extends Controller
{
foreach($contentBlocks as $block)
{
if(isset($block['element']['name']) && $block['element']['name'] == 'p' && substr($block['element']['text'], 0, 2) == '![' )
/* is it a paragraph? */
if(isset($block['element']['name']) && $block['element']['name'] == 'p')
{
return $block['element']['text'];
if(isset($block['element']['handler']['argument']) && substr($block['element']['handler']['argument'], 0, 2) == '![' )
{
return $block['element']['handler']['argument'];
}
}
}

View File

@ -41,7 +41,7 @@ class Settings
'userPath' => $rootPath . 'settings' . DIRECTORY_SEPARATOR . 'users',
'authorPath' => __DIR__ . DIRECTORY_SEPARATOR . 'author' . DIRECTORY_SEPARATOR,
'contentFolder' => 'content',
'version' => '1.1.2',
'version' => '1.1.3',
'setup' => true
];
}

View File

@ -5,4 +5,4 @@
{% set copyrightYears = settings.year ~ ' - ' ~ nowYear %}
{% endif %}
<div class="copyrightLine"><p>{{ settings.copyright }} by {{ settings.author }}, {{ copyrightYears }}. All Rights Reserved. Built with <a href="http://typemill.net">TYPEMILL</a>.{% if settings.version < settings.latestVersion %} Please <a href="http://typemill.net">Update</a>{% endif %}</p></div>
<div class="copyrightLine"><p>{{ settings.copyright }} by {{ settings.author }}, {{ copyrightYears }}. All Rights Reserved. Built with <a href="http://typemill.net">TYPEMILL</a>.</p></div>