parent
37671d9040
commit
0720e3c583
@ -1,11 +1,12 @@
|
|||||||
{% layout('layout') %}
|
{{# layout('layout') }}
|
||||||
|
|
||||||
{{# const posts = await it.injectStore('post') }}
|
{{# const store = await it.injectStore('post') }}
|
||||||
|
{{# const posts = await store.find() }}
|
||||||
|
|
||||||
{{# if posts.data.length > 0 }}
|
{{# if (posts.data && posts.data.length > 0) { }}
|
||||||
{{# posts.data.forEach((post) => { }}
|
{{# posts.data.forEach((post) => { }}
|
||||||
{{ post.title }}
|
{{ post.title }}
|
||||||
{{ marked.parse(page.data.content) }}
|
{{! it.marked.parse(post.teaser_content) }}
|
||||||
{{# }) }}
|
{{# }) }}
|
||||||
{{# } else { }}
|
{{# } else { }}
|
||||||
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
import slugify from 'slugify'
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
export default async function injectStore(name) {
|
|
||||||
const StoreClass = await import('./../stores/' + name + '.js')
|
|
||||||
const store = new StoreClass.default()
|
|
||||||
|
|
||||||
return await store.find()
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
import slugify from 'slugify'
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
export default function isHome(entity) {
|
|
||||||
|
|
||||||
let result = false
|
|
||||||
|
|
||||||
if (entity.data && entity.data.permalink && entity.data.permalink === "/") {
|
|
||||||
result = true
|
|
||||||
}
|
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
import { marked } from 'marked'
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
export default function parseMarkdown(value) {
|
|
||||||
|
|
||||||
let result = ''
|
|
||||||
|
|
||||||
if (value) {
|
|
||||||
result = marked.parse(value)
|
|
||||||
}
|
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
import slugify from 'slugify'
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
export default function templateClass(entity, prefix = 'page') {
|
|
||||||
if (entity.data && entity.data.template) {
|
|
||||||
prefix += '-' + entity.data.template
|
|
||||||
}
|
|
||||||
|
|
||||||
return prefix
|
|
||||||
}
|
|
@ -0,0 +1,101 @@
|
|||||||
|
import slugify from 'slugify'
|
||||||
|
import { marked } from 'marked'
|
||||||
|
import * as fs from 'fs'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* etaHelpers
|
||||||
|
*
|
||||||
|
* collection for helpers to extend eta
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* asset -
|
||||||
|
*
|
||||||
|
* @param {String} path
|
||||||
|
* @param {String} [prefix='/public']
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function asset(path, prefix = '/public')
|
||||||
|
{
|
||||||
|
// getting basePath
|
||||||
|
const basePath = path
|
||||||
|
|
||||||
|
// path to mix-manifest
|
||||||
|
file = basePath + 'mix-manifest.json';
|
||||||
|
|
||||||
|
if (!fs.existsSync(file)) {
|
||||||
|
//const manifest = file_get_contents($file);
|
||||||
|
//const files = json_decode(manifest, true);
|
||||||
|
|
||||||
|
//if (files[prefix + path]) {
|
||||||
|
// path = str_replace(prefix, '', files[prefix + path]);
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
return path
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* templateClass - parse template name to css-classname,
|
||||||
|
* use prefix, default is "page"
|
||||||
|
*
|
||||||
|
* @param {Object} entity
|
||||||
|
* @param {String} [prefix='page']
|
||||||
|
* @return {String}
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function templateClass(entity, prefix = 'page') {
|
||||||
|
if (entity.data && entity.data.template) {
|
||||||
|
prefix += '-' + entity.data.template
|
||||||
|
}
|
||||||
|
|
||||||
|
return prefix
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* isHome - check if entity is home,
|
||||||
|
* checks for permalink
|
||||||
|
*
|
||||||
|
* @param {Object} entity
|
||||||
|
* @return {Boolean}
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function isHome(entity) {
|
||||||
|
|
||||||
|
let result = false
|
||||||
|
|
||||||
|
if (entity.data && entity.data.permalink && entity.data.permalink === "/") {
|
||||||
|
result = true
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* injectStore
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param {String} name
|
||||||
|
* @return {Object}
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
async function injectStore(name) {
|
||||||
|
|
||||||
|
const path = './../stores/' + name + '.js'
|
||||||
|
|
||||||
|
// if file
|
||||||
|
//if (!fs.existsSync(path)) {
|
||||||
|
//throw new Error(name + ' not exists!')
|
||||||
|
//}
|
||||||
|
|
||||||
|
const StoreClass = await import(path)
|
||||||
|
const store = new StoreClass.default()
|
||||||
|
|
||||||
|
return store
|
||||||
|
}
|
||||||
|
|
||||||
|
export { asset, templateClass, isHome, injectStore }
|
Loading…
Reference in new issue