mirror of
https://github.com/typemill/typemill.git
synced 2025-01-17 05:18:19 +01:00
Version 1.2.10: Format options for visual editor
This commit is contained in:
parent
6e605fb8a5
commit
8060eba08c
2
cache/lastCache.txt
vendored
2
cache/lastCache.txt
vendored
@ -1 +1 @@
|
||||
1548436334
|
||||
1548495240
|
34
composer.lock
generated
34
composer.lock
generated
@ -530,16 +530,16 @@
|
||||
},
|
||||
{
|
||||
"name": "slim/slim",
|
||||
"version": "3.11.0",
|
||||
"version": "3.12.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/slimphp/Slim.git",
|
||||
"reference": "d378e70431e78ee92ee32ddde61ecc72edf5dc0a"
|
||||
"reference": "f4947cc900b6e51cbfda58b9f1247bca2f76f9f0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/slimphp/Slim/zipball/d378e70431e78ee92ee32ddde61ecc72edf5dc0a",
|
||||
"reference": "d378e70431e78ee92ee32ddde61ecc72edf5dc0a",
|
||||
"url": "https://api.github.com/repos/slimphp/Slim/zipball/f4947cc900b6e51cbfda58b9f1247bca2f76f9f0",
|
||||
"reference": "f4947cc900b6e51cbfda58b9f1247bca2f76f9f0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -597,7 +597,7 @@
|
||||
"micro",
|
||||
"router"
|
||||
],
|
||||
"time": "2018-09-16T10:54:21+00:00"
|
||||
"time": "2019-01-15T13:21:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "slim/twig-view",
|
||||
@ -652,16 +652,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v3.4.20",
|
||||
"version": "v3.4.21",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "cc35e84adbb15c26ae6868e1efbf705a917be6b5"
|
||||
"reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/cc35e84adbb15c26ae6868e1efbf705a917be6b5",
|
||||
"reference": "cc35e84adbb15c26ae6868e1efbf705a917be6b5",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2",
|
||||
"reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -711,7 +711,7 @@
|
||||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2018-11-30T18:07:24+00:00"
|
||||
"time": "2019-01-01T18:08:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
@ -823,20 +823,20 @@
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v1.36.0",
|
||||
"version": "v1.37.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/Twig.git",
|
||||
"reference": "730c9c4471b5152d23061feb02b03382264c8a15"
|
||||
"reference": "66be9366c76cbf23e82e7171d47cbfa54a057a62"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/730c9c4471b5152d23061feb02b03382264c8a15",
|
||||
"reference": "730c9c4471b5152d23061feb02b03382264c8a15",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/66be9366c76cbf23e82e7171d47cbfa54a057a62",
|
||||
"reference": "66be9366c76cbf23e82e7171d47cbfa54a057a62",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3",
|
||||
"php": ">=5.4.0",
|
||||
"symfony/polyfill-ctype": "^1.8"
|
||||
},
|
||||
"require-dev": {
|
||||
@ -847,7 +847,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.36-dev"
|
||||
"dev-master": "1.37-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -885,7 +885,7 @@
|
||||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2018-12-16T10:34:11+00:00"
|
||||
"time": "2019-01-14T14:59:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "vlucas/valitron",
|
||||
|
@ -137,17 +137,17 @@ Or you can use a shortcut like http://typemill.net.
|
||||
````
|
||||
The same rules as with links, but with a !
|
||||
![alt-text](media/markdown.png)
|
||||
![alt-text](media/markdown.png "my title")
|
||||
![alt-text](media/markdown.png "my title"){#myid .myclass width=100px}
|
||||
![alt-text](media/markdown.png "my title"){#myid .imgClass}
|
||||
![alt-text](media/markdown.png "my title"){#myid .otherclass width=150px}
|
||||
````
|
||||
|
||||
The same rules as with links, but with a !
|
||||
|
||||
![alt-text](media/markdown.png){.imgClass}
|
||||
![alt-text](media/markdown.png)
|
||||
|
||||
![alt-text](media/markdown.png "my title"){.imgClass}
|
||||
![alt-text](media/markdown.png "my title"){#myid .imgClass}
|
||||
|
||||
![alt-text](media/markdown.png "my title"){#myid .myclass width=100px}
|
||||
![alt-text](media/markdown.png "my title"){#myid .otherclass width=150px}
|
||||
|
||||
## Linked Images
|
||||
|
||||
@ -171,11 +171,11 @@ You can controll the image position with the classes .left, .right and .middle l
|
||||
|
||||
![image float left](media/markdown.png){.left}
|
||||
|
||||
The first image should float on the left side of this paragraph. This might not work with all themes. If you are a theme developer, please ensure that you support the image classes "left", "right" and "middle".
|
||||
The first image should float on the left side of this paragraph. This might not work with all themes. If you are a theme developer, please ensure that you support the image classes "left", "right" and "middle". You can add these classes manually in the raw mode or you can assign them in the visual mode when you edit a picture (double click on it to open the dialog.)
|
||||
|
||||
![image float right](media/markdown.png){.right}
|
||||
|
||||
The second image should float on the right side of this paragraph. This might not work with all themes. If you are a theme developer, please ensure that you support the image classes "left", "right" and "middle".
|
||||
The second image should float on the right side of this paragraph. This might not work with all themes. If you are a theme developer, please ensure that you support the image classes "left", "right" and "middle". You can add these classes manually in the raw mode or you can assign them in the visual mode when you edit a picture (double click on it to open the dialog.)
|
||||
|
||||
![image middle](media/markdown.png){.middle}
|
||||
|
||||
@ -206,6 +206,8 @@ You can write footnotes[^1] with markdown.
|
||||
|
||||
Scroll down to the end of the page[^2] and look for the footnotes.
|
||||
|
||||
Footnotes won't work with the visual editor right now, so please use the raw mode for them.
|
||||
|
||||
## Abbreviations
|
||||
|
||||
````
|
||||
@ -288,3 +290,5 @@ x = \int_{0^1}^1(-b \pm \sqrt{b^2-4ac})/(2a)
|
||||
x = \int_{0^1}^1(-b \pm \sqrt{b^2-4ac})/(2a)
|
||||
````
|
||||
|
||||
[^1]: Thank you for scrolling.
|
||||
[^2]: This is the end of the page.
|
42
readme.md
42
readme.md
@ -1,27 +1,27 @@
|
||||
# About TYPEMILL
|
||||
|
||||
TYPEMILL is a small flat file cms created for editors and writers. It generates websites based on markdown files and can be used for manuals, documentations, web-books and similar publications. The website http://typemill.net itself is an example-website for TYPEMILL.
|
||||
TYPEMILL is a small flat file cms created for editors and writers. It provides a author-friendly dashboard and a visual-block-editor for markdown based on vue.js. Use TYPEMILL for manuals, documentations, web-books and similar publications. The website http://typemill.net itself is an example-website for TYPEMILL.
|
||||
|
||||
![TYPEMILL Screenshot](https://typemill.net/media/demo-2.gif)
|
||||
![TYPEMILL Screenshot](https://typemill.net/media/demo-3.gif)
|
||||
|
||||
## Features
|
||||
|
||||
* Creates a website based on markdown files.
|
||||
* Ships with a fully responsive standard theme.
|
||||
* Works with a natural folder and file structure (like on your file-system).
|
||||
* Creates a navigation, a breadcrumb and a pagination based on your file structure.
|
||||
* Creates chapter numbers.
|
||||
* Creates SEO-friendly urls.
|
||||
* Supports configurable themes and plugins.
|
||||
* Provides an author panel to configure the system, the themes and the plugins.
|
||||
* Creates and manages users.
|
||||
* Provides a pure markdown editor.
|
||||
* Provides a visual markdown editing mode (experimental).
|
||||
* Provides a author-friendly visual markdown editor (experimental, based on VUE.js).
|
||||
* Provides a pure markdown editing mode.
|
||||
* Markdown supports table of contents (TOC), tables, footnotes, abbreviations and definition lists.
|
||||
* Supports MathJax and KaTeX (plugin).
|
||||
* Supports code highlighting (plugin).
|
||||
* Supports Matomo/Piwik and Google Analytics (plugin).
|
||||
* Supports Cookie Consent (plugin).
|
||||
* Create and sort pages with drag & drop in the navigation.
|
||||
* Configure the system, the themes and the plugins in the dashboard.
|
||||
* Create and manage users.
|
||||
* Develop configurable plugins with the Symfony Event Dispatcher.
|
||||
* Develop configurable themes with TWIG.
|
||||
* Allows super easy backend and frontend forms with simple YAML-definitions.
|
||||
* Ships with a fully responsive standard theme
|
||||
* Ships with plugins for
|
||||
* MathJax and KaTeX, c.
|
||||
* code highlighting.
|
||||
* Matomo/Piwik and Google Analytics.
|
||||
* Cookie Consent.
|
||||
|
||||
## Requirements
|
||||
|
||||
@ -35,7 +35,7 @@ If you run a linux system, then please double check that mod_rewrite and htacces
|
||||
|
||||
Download TYPEMILL from the [TYPEMILL website](http://typemill.net), unzip the files and you are done.
|
||||
|
||||
If you are a developer, you can also clone this repository. To do so, open your git command line (e.g. gitbash), go to your project folder (e.g. htdocs) and type:
|
||||
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:
|
||||
|
||||
git clone git://github.com/trendschau/typemill.git
|
||||
|
||||
@ -77,17 +77,19 @@ Typemill is still in an early stage and contributions are highly welcome. Here a
|
||||
* Find bugs and errors (open a new issue on github for it).
|
||||
* Improve the documentation.
|
||||
* Describe some missing features and explain, why they are important for other users.
|
||||
* Write a blog post about typemill.
|
||||
|
||||
Some ideas for devs (please fork this repository make your changes and create a pull request):
|
||||
|
||||
* Fix a bug.
|
||||
* Create a nice theme.
|
||||
* Create a new plugin.
|
||||
* Improve the CSS-code with BEM and make it modular.
|
||||
* Rebuild the theme with css-grid.
|
||||
* Improve accessibility of html and css.
|
||||
* Improve the CSS-code with BEM or utility-css (e.g. Tailwind) and make it modular.
|
||||
* Rebuild the theme with the new css-grid feature.
|
||||
* Improve the accessibility of html and css.
|
||||
* Help to establish autotests with selenium or cypress.
|
||||
* Write unit-tests.
|
||||
* Write an auto-update functionality.
|
||||
|
||||
For hints, questions, problems and support, please open up a new issue on GitHub.
|
||||
|
||||
|
@ -395,10 +395,11 @@ class SettingsController extends Controller
|
||||
$users = $user->getUsers();
|
||||
$userrole = $user->getUserroles();
|
||||
$userdata = $user->getUser($args['username']);
|
||||
$settings = $this->c->get('settings');
|
||||
|
||||
if($userdata)
|
||||
{
|
||||
return $this->render($response, 'settings/user.twig', array('users' => $users, 'userdata' => $userdata, 'userrole' => $userrole, 'username' => $args['username'] ));
|
||||
return $this->render($response, 'settings/user.twig', array('settings' => $settings, 'users' => $users, 'userdata' => $userdata, 'userrole' => $userrole, 'username' => $args['username'] ));
|
||||
}
|
||||
}
|
||||
|
||||
@ -412,13 +413,14 @@ class SettingsController extends Controller
|
||||
$users = $user->getUsers();
|
||||
$userdata = array();
|
||||
$route = $request->getAttribute('route');
|
||||
$settings = $this->c->get('settings');
|
||||
|
||||
foreach($users as $username)
|
||||
{
|
||||
$userdata[] = $user->getUser($username);
|
||||
}
|
||||
|
||||
$this->render($response, 'settings/userlist.twig', array('users' => $users, 'userdata' => $userdata, 'route' => $route->getName() ));
|
||||
$this->render($response, 'settings/userlist.twig', array('settings' => $settings, 'users' => $users, 'userdata' => $userdata, 'route' => $route->getName() ));
|
||||
}
|
||||
|
||||
public function newUser($request, $response, $args)
|
||||
@ -427,8 +429,9 @@ class SettingsController extends Controller
|
||||
$users = $user->getUsers();
|
||||
$userrole = $user->getUserroles();
|
||||
$route = $request->getAttribute('route');
|
||||
$settings = $this->c->get('settings');
|
||||
|
||||
$this->render($response, 'settings/usernew.twig', array('users' => $users, 'userrole' => $userrole, 'route' => $route->getName() ));
|
||||
$this->render($response, 'settings/usernew.twig', array('settings' => $settings, 'users' => $users, 'userrole' => $userrole, 'route' => $route->getName() ));
|
||||
}
|
||||
|
||||
public function createUser($request, $response, $args)
|
||||
|
@ -47,7 +47,7 @@ class Settings
|
||||
'contentFolder' => 'content',
|
||||
'cache' => true,
|
||||
'cachePath' => $rootPath . 'cache',
|
||||
'version' => '1.2.9',
|
||||
'version' => '1.2.10',
|
||||
'setup' => true,
|
||||
'welcome' => true,
|
||||
'images' => ['live' => ['width' => 820], 'mlibrary' => ['width' => 50, 'height' => 50]],
|
||||
|
@ -11,8 +11,8 @@
|
||||
<h1>Hurra!</h1>
|
||||
<p>Your account has been created and you are logged in now.</p>
|
||||
<p><strong>Next step:</strong> Visit the author panel and setup your new website. You can configure the system, choose themes and add plugins.</p>
|
||||
<p><strong>New:</strong> We recently added an image upload and youtube videos to the visual content editor.</p>
|
||||
<p><strong>Get help:</strong> If you have any questions, please consult the <a target="_blank" href="http://typemill.net/typemill"><i class="icon-link-ext"></i> docs</a> or open a new issue on <a target="_blank" href="https://github.com/trendschau/typemill"><i class="icon-link-ext"></i> github</a>.</p>
|
||||
<p><strong>New:</strong> We recently added many format options like images, youtube videos, list and codeblocks to the visual content editor.</p>
|
||||
<p><strong>Get help:</strong> If you have any questions, please consult the <a target="_blank" href="https://typemill.net/typemill"><i class="icon-link-ext"></i> docs</a> or open a new issue on <a target="_blank" href="https://github.com/typemill/typemill"><i class="icon-link-ext"></i> github</a>.</p>
|
||||
</div>
|
||||
<a class="button" href="{{ path_for('settings.show') }}">Configure your website</a>
|
||||
</div>
|
||||
|
@ -35,7 +35,7 @@
|
||||
</article>
|
||||
<footer></footer>
|
||||
</div>
|
||||
<script src="{{ base_url }}/system/author/js/color-picker.min.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/color-picker.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20190125"></script>
|
||||
</body>
|
||||
</html>
|
@ -29,6 +29,6 @@
|
||||
{% block content %}{% endblock %}
|
||||
|
||||
</div>
|
||||
<script src="{{ base_url }}/system/author/js/auth.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/auth.js?20190125"></script>
|
||||
</body>
|
||||
</html>
|
@ -19,7 +19,7 @@
|
||||
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/fontello/css/fontello.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20190103" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20190125" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" />
|
||||
</head>
|
||||
<body>
|
||||
@ -36,14 +36,14 @@
|
||||
</article>
|
||||
<footer></footer>
|
||||
</div>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.min.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-blox.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/lazy-video.js?20190103"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-blox.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/lazy-video.js?20190125"></script>
|
||||
</body>
|
||||
</html>
|
@ -19,7 +19,7 @@
|
||||
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/fontello/css/fontello.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20181206" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20190125" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" />
|
||||
</head>
|
||||
<body>
|
||||
@ -36,13 +36,13 @@
|
||||
</article>
|
||||
<footer></footer>
|
||||
</div>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.min.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-editor.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20181206"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.min.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-editor.js?20190125"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20190125"></script>
|
||||
</body>
|
||||
</html>
|
@ -319,7 +319,7 @@ article{
|
||||
line-height: 1.35em;
|
||||
}
|
||||
article img{
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
article img.left{
|
||||
width: auto;
|
||||
|
Loading…
x
Reference in New Issue
Block a user