1
0
mirror of https://github.com/typemill/typemill.git synced 2025-08-06 14:16:46 +02:00

Version 1.4.6: collapse navi, image for blogposts, overwrite copyright

This commit is contained in:
trendschau
2021-06-12 22:24:14 +02:00
parent 33a0bbfa09
commit d9573d4a73
12 changed files with 107 additions and 19 deletions

View File

@@ -1,9 +1,15 @@
meta:
title: 'Setup Your Website'
description: 'Typemill provides detailed settings, and you have access to nearly all settings in the author panel. Learn the basics in this short video:'
heroimage: ''
heroimagealt: null
owner: trendschau
author: 'Sebastian Schürmanns'
manualdate: null
modified: '2021-05-27'
created: '2021-05-27'
time: 21-02-24
navtitle: 'setup your website'
modified: '2021-05-27'
hide: false
allowedrole: null
alloweduser: null

View File

@@ -0,0 +1,23 @@
meta:
title: 'Write Content'
description: 'Typemill is a simple Flat File Content Management System (CMS). We (the community) work hard to provide the best author experience with easy and intuitive authoring tools. But Typemill is still in early development and it is likely that not everything will work perfectly out of the box.'
heroimage: ''
heroimagealt: 'Hero Alternative'
owner: null
author: 'Sebastian Schürmanns'
manualdate: null
modified: '2021-01-30'
created: null
time: null
navtitle: ''
hide: false
allowedrole: administrator
alloweduser: 'trendschau, testmember'
seo:
heroimage: media/live/bildschirmfoto-zu-2019-08-30-20-46-29.png
heroimagealt: 'My Alt-Text'
adamhall:
myfield:
-
key: b
value: 'Das muss eine schöne Sache sei'

View File

@@ -1,13 +1,42 @@
const navcomponent = Vue.component('navigation', {
template: '#navigation-template',
props: ['homepage', 'name', 'hide', 'newItem', 'parent', 'active', 'filetype', 'status', 'elementtype', 'contains', 'element', 'folder', 'level', 'url', 'root', 'freeze', 'collapse'],
props: ['homepage', 'name', 'hide', 'newItem', 'parent', 'active', 'filetype', 'status', 'elementtype', 'contains', 'element', 'folder', 'level', 'url', 'root', 'freeze'],
data: function () {
return {
showForm: false,
revert: false,
collapse: [],
}
},
mounted: function(){
collapse = localStorage.getItem('collapse');
if(collapse !== null)
{
this.collapse = collapse.split(',');
}
},
methods: {
toggleCollapse: function(name)
{
var index = this.collapse.indexOf(name);
if (index > -1)
{
this.collapse.splice(index, 1);
}
else
{
this.collapse.push(name);
}
localStorage.setItem("collapse", this.collapse.toString());
},
isCollapsed: function(name)
{
if(this.collapse.indexOf(name) > -1)
{
return true;
}
return false;
},
checkMove : function(evt)
{
if(evt.dragged.classList.contains('folder') && evt.from.parentNode.id != evt.to.parentNode.id)

View File

@@ -33,7 +33,6 @@
:contains="item.contains"
:filetype="item.fileType"
:status="item.status"
:collapse="false"
:folder="item.folderContent"
></navigation>
</draggable>
@@ -59,10 +58,10 @@
{% verbatim %}
<template id="navigation-template">
<li class="navi-item" :class="elementtype">
<div v-if="folder" class="foldertoggle" @click="collapse = !collapse"><svg v-if="!collapse" class="icon icon-shrink2"><use xlink:href="#icon-shrink2"></use></svg><svg v-else class="icon icon-enlarge2"><use xlink:href="#icon-enlarge2"></use></svg></div>
<div v-if="folder" class="foldertoggle" @click="toggleCollapse(name)"><svg v-if="isCollapsed(name)" class="icon icon-shrink2"><use xlink:href="#icon-shrink2"></use></svg><svg v-else class="icon icon-enlarge2"><use xlink:href="#icon-enlarge2"></use></svg></div>
<div class="status" :class="status"></div>
<a v-bind:href="getUrl(root, url)" :class="checkActive(active,parent)"><span class="iconwrapper"><svg class="icon" :class="getIconClass(elementtype, filetype, hide)"><use :xlink:href="getIcon(elementtype, filetype, hide)"></use></svg></span><span :class="getLevel(level)">{{ name }}</span><span class="movewrapper"><span class="movewrapper"><svg class="icon icon-arrows-v"><use xlink:href="#icon-arrows-v"></use></svg></span></a>
<draggable v-if="folder" v-show="!collapse" class="navi-list" tag="ul"
<draggable v-if="folder" v-show="!isCollapsed(name)" class="navi-list" tag="ul"
@start="onStart"
@end="onEnd"
:list="folder"
@@ -88,7 +87,6 @@
:status="item.status"
:elementtype="item.elementType"
:contains="item.contains"
:collapse="false"
:folder="item.folderContent"
></navigation>
</draggable>

View File

@@ -61,6 +61,11 @@
<li class="post-entry">
<header>
{% if settings.themes.cyanine.blogimage and post.meta.heroimage != '' %}
<figure>
<img src="{{ assets.image(post.meta.heroimage).resize(820,500).src() }}"{% if post.meta.heroimage != '' %} alt="{{ post.meta.heroimage }}"{% endif %} />
</figure>
{% endif %}
<a class="link f-link underline-hover" href="{{ element.urlAbs }}"><h2 class="mt4 mb2">{{ post.meta.title }}</h2></a>
<div class="mt3"><small><time datetime="{{date}}">{{ date | date("d.m.Y") }}</time> | {{ post.meta.author }}</small></div>
</header>

View File

@@ -26,30 +26,35 @@ forms:
large: Large
full: Full Width
posts:
type: fieldset
legend: Configure Posts
fields:
blogimage:
type: checkbox
label: Post-Images
checkboxlabel: Generally show hero images in all lists of posts
blog:
type: checkbox
checkboxlabel: Activate a List of Posts on the Homepage
checkboxlabel: Activate a list of posts on the homepage
blogdetails:
bloghomepage:
type: fieldset
legend: Configure List of Posts
legend: Posts on Homepage
fields:
blogintro:
type: checkbox
label: Intro Page
checkboxlabel: Show the content of the homepage before the list of posts
label: Intro Content
checkboxlabel: Show the content of the homepage before the posts get listed
blogfolder:
type: text
label: Enter the folder path with the posts
placeholder: /blog
blogimage:
type: checkbox
label: Post-Images
checkboxlabel: Display the hero images from meta in the list of blog-posts
landingpage:
type: checkbox
checkboxlabel: Activate a Landing Page on the Homepage
checkboxlabel: Activate a landing page with segments on the homepage
landingpageIntro:
type: fieldset
@@ -292,7 +297,7 @@ forms:
options:
footer1: Column 1
footer2: Column 2
footer3: Column 3
footer3: Column 3
footer1:
type: textarea
label: footer column 1 (use markdown)
@@ -303,6 +308,19 @@ forms:
type: textarea
label: footer column 3 (use markdown)
fieldsetcopyrightline:
type: fieldset
legend: Copyright Line
fields:
copyrightline:
type: checkbox
checkboxlabel: Overwrite the copyright line
copyrightlinetext:
type: textarea
label: Overwrite Copyright Line (use markdown)
description: If overwrite the copyright line with the link to typemill, then please support Typemill e.g. with a link in the imprint, a blog-post, a social media mention or a recommendation.
fieldsetFonts:
type: fieldset
legend: Font Families

View File

@@ -59,7 +59,7 @@
{% endif %}
<a href="{{ settings.themes.cyanine.newsFolder }}" class="button link dim dib pa3 ma1 ba">{{ settings.themes.cyanine.newsLabel }}</a>
<a href="{{base_url}}{{ settings.themes.cyanine.newsFolder }}" class="button link dim dib pa3 ma1 ba">{{ settings.themes.cyanine.newsLabel }}</a>
</div>

View File

@@ -20,5 +20,9 @@
</footer>
<div class="w-100 center f6">
<p class="f6">{{ settings.copyright }} {{ __('by') }} {{ settings.author }}, {{ copyrightYears }}. {{ __('All Rights Reserved') }}. {{ __('Built with') }} <a class="link underline f-secondary" href="https://typemill.net">Typemill</a>.</p>
{% if settings.themes.cyanine.copyrightline %}
{{ markdown(settings.themes.cyanine.copyrightlinetext) }}
{% else %}
<p class="f6">{{ settings.copyright }} {{ __('by') }} {{ settings.author }}, {{ copyrightYears }}. {{ __('All Rights Reserved') }}. {{ __('Built with') }} <a class="link underline f-secondary" href="https://typemill.net">Typemill</a>.</p>
{% endif %}
</div>

View File

@@ -12,6 +12,11 @@
<li class="post-entry">
<header>
{% if settings.themes.cyanine.blogimage and post.meta.heroimage != '' %}
<figure>
<img src="{{ assets.image(post.meta.heroimage).resize(820,500).src() }}"{% if post.meta.heroimage != '' %} alt="{{ post.meta.heroimage }}"{% endif %} />
</figure>
{% endif %}
<a class="link f-link underline-hover" href="{{ element.urlAbs }}"><h2 class="mt4 mb2">{{ post.meta.title }}</h2></a>
<div class="mt3"><small><time datetime="{{date}}">{{ date | date("d.m.Y") }}</time> | {{ post.meta.author }}</small></div>
</header>