mirror of
https://github.com/typemill/typemill.git
synced 2025-08-01 20:00:37 +02:00
Version 1.3.5 Consolidation
This commit is contained in:
126
cypress/test01-system-setup.spec.js
Normal file
126
cypress/test01-system-setup.spec.js
Normal file
@@ -0,0 +1,126 @@
|
||||
describe('Typemill Setup', function()
|
||||
{
|
||||
it('validates form input', function ()
|
||||
{
|
||||
// visit setup form
|
||||
cy.visit('/setup')
|
||||
cy.url().should('include','/setup')
|
||||
|
||||
// add data and check attributes
|
||||
cy.get('input[name="username"]')
|
||||
.type('?1')
|
||||
.should('have.value', '?1')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
cy.get('input[name="email"]')
|
||||
.type('trendschau.net')
|
||||
.should('have.value', 'trendschau.net')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
cy.get('input[name="password"]')
|
||||
.type('pass')
|
||||
.should('have.value', 'pass')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
// submit and get validation errors
|
||||
cy.get('form').submit()
|
||||
cy.get('#flash-message').should('contain', 'Please check your input and try again')
|
||||
cy.get('.error').should('contain', 'invalid characters')
|
||||
cy.get('.error').should('contain', 'e-mail is invalid')
|
||||
cy.get('.error').should('contain', 'Length between 5 - 20')
|
||||
})
|
||||
|
||||
it('fails without CSRF-token', function ()
|
||||
{
|
||||
cy.request({
|
||||
method: 'POST',
|
||||
url: '/setup', // baseUrl is prepended to url
|
||||
form: true, // indicates the body should be form urlencoded and sets Content-Type: application/x-www-form-urlencoded headers
|
||||
failOnStatusCode: false,
|
||||
body: {
|
||||
username: 'trendschau',
|
||||
email: 'trendschau@gmail.com',
|
||||
password: 'password'
|
||||
}
|
||||
})
|
||||
.its('body')
|
||||
.should('include', 'Failed CSRF check')
|
||||
})
|
||||
|
||||
it('submits valid form data and visit welcome and settings page', function ()
|
||||
{
|
||||
cy.visit('/setup')
|
||||
|
||||
// enter correct data
|
||||
cy.get('input[name="username"]').clear().type('trendschau')
|
||||
cy.get('input[name="email"]').clear().type('trendschau@gmail.com')
|
||||
cy.get('input[name="password"]').clear().type('password')
|
||||
|
||||
// submits valid form
|
||||
cy.get('form').submit()
|
||||
cy.url().should('include','/welcome')
|
||||
cy.getCookie('typemill-session').should('exist')
|
||||
Cypress.Cookies.preserveOnce('typemill-session')
|
||||
|
||||
// clicks link on welcome page to settings page
|
||||
cy.get('.button').should('contain', 'Configure your website')
|
||||
cy.get('.button').click()
|
||||
cy.url().should('include', '/tm/settings')
|
||||
})
|
||||
|
||||
it('creates default settings data', function()
|
||||
{
|
||||
cy.get('input[name="settings[title]"]')
|
||||
.should('have.value', 'TYPEMILL')
|
||||
.and('have.attr','required')
|
||||
cy.get('input[name="settings[author]"]')
|
||||
.should('have.value', 'Unknown')
|
||||
cy.get('select[name="settings[copyright]"]')
|
||||
cy.get('input[name="settings[year]"]')
|
||||
.should('have.attr', 'required')
|
||||
cy.get('select[name="settings[language]"]')
|
||||
cy.get('input[name="settings[sitemap]"]')
|
||||
.should('have.value', 'http://localhost/typemillTest/cache/sitemap.xml')
|
||||
.and('have.attr','readonly')
|
||||
Cypress.Cookies.preserveOnce('typemill-session')
|
||||
})
|
||||
|
||||
it('creates default user data', function()
|
||||
{
|
||||
cy.visit('/tm/user/trendschau')
|
||||
cy.url().should('include', '/tm/user/trendschau')
|
||||
|
||||
cy.get('input[name="showusername"]')
|
||||
.should('have.value', 'trendschau')
|
||||
.and('have.attr','disabled')
|
||||
cy.get('input[name="username"]')
|
||||
.should('have.value', 'trendschau')
|
||||
cy.get('input[name="email"]')
|
||||
.should('have.value', 'trendschau@gmail.com')
|
||||
.and('have.attr','required')
|
||||
cy.get('select[name="userrole"]')
|
||||
.should('have.attr','required')
|
||||
cy.get('input[name="password"]')
|
||||
.should('have.value', '')
|
||||
cy.get('input[name="newpassword"]')
|
||||
.should('have.value', '')
|
||||
})
|
||||
|
||||
it('logouts out', function()
|
||||
{
|
||||
// visits logout link
|
||||
cy.visit('/tm/logout')
|
||||
cy.url().should('include', '/tm/login')
|
||||
|
||||
// tries to open setup form again and gets redirected to login
|
||||
cy.visit('/setup')
|
||||
cy.url().should('include','/login')
|
||||
})
|
||||
|
||||
it('redirects when tries to setup again', function()
|
||||
{
|
||||
// tries to open setup form again and gets redirected to login
|
||||
cy.visit('/setup')
|
||||
cy.url().should('include','/login')
|
||||
})
|
||||
})
|
148
cypress/test02-initial-frontend.spec.js
Normal file
148
cypress/test02-initial-frontend.spec.js
Normal file
@@ -0,0 +1,148 @@
|
||||
describe('Typemill Initial Frontend', function()
|
||||
{
|
||||
it('has startpage with buttons and links', function ()
|
||||
{
|
||||
/* visit homepage */
|
||||
cy.visit('/')
|
||||
|
||||
/* has start and setup button */
|
||||
cy.get('.actionLink').find('a').should(($a) => {
|
||||
expect($a).to.have.length(1)
|
||||
expect($a[0].href).to.match(/welcome/)
|
||||
})
|
||||
|
||||
/* has start and setup button */
|
||||
cy.get('.toc-nav').find('a').should(($a) => {
|
||||
expect($a).to.have.length(5)
|
||||
expect($a[0].href).to.match(/welcome/)
|
||||
expect($a[1].href).to.match(/welcome\/setup/)
|
||||
expect($a[2].href).to.match(/welcome\/write-content/)
|
||||
expect($a[3].href).to.match(/welcome\/get-help/)
|
||||
expect($a[4].href).to.match(/welcome\/markdown-test/)
|
||||
})
|
||||
})
|
||||
|
||||
it('has error page', function ()
|
||||
{
|
||||
cy.request({
|
||||
url: '/error',
|
||||
failOnStatusCode: false,
|
||||
})
|
||||
.then((resp) => {
|
||||
/* should return 404 not found */
|
||||
expect(resp.status).to.eq(404)
|
||||
})
|
||||
|
||||
cy.visit('/error', { failOnStatusCode: false })
|
||||
cy.url().should('include','/error')
|
||||
|
||||
cy.get('h1').contains('Not Found')
|
||||
})
|
||||
|
||||
it('has no access to cache files', function ()
|
||||
{
|
||||
cy.request({
|
||||
url: '/cache/structure.txt',
|
||||
failOnStatusCode: false,
|
||||
})
|
||||
.then((resp) => {
|
||||
// redirect status code is 302
|
||||
expect(resp.status).to.eq(403)
|
||||
})
|
||||
})
|
||||
|
||||
it('has sitemap xml', function ()
|
||||
{
|
||||
cy.request({
|
||||
url: '/cache/sitemap.xml',
|
||||
})
|
||||
.then((resp) => {
|
||||
/* should return xml-format */
|
||||
expect(resp.headers).to.have.property('content-type','application/xml')
|
||||
})
|
||||
})
|
||||
|
||||
it('has no access to dashboard', function ()
|
||||
{
|
||||
cy.visit('/tm/settings')
|
||||
cy.url().should('include','/tm/login')
|
||||
})
|
||||
|
||||
it('has proper markdown test page', function ()
|
||||
{
|
||||
cy.visit('/welcome/markdown-test')
|
||||
cy.url().should('include','/welcome/markdown-test')
|
||||
|
||||
/* has navigation element */
|
||||
cy.get('nav').should('exist')
|
||||
|
||||
/* check if toc exists */
|
||||
cy.get('.TOC').within(($toc) =>{
|
||||
/* check if a certain link in toc exists */
|
||||
cy.get('a').eq(2).should('have.attr', 'href', '/typemillTest/welcome/markdown-test#headlines')
|
||||
})
|
||||
|
||||
/* check if corresponding anchor exists */
|
||||
cy.get('#headlines').should('exist')
|
||||
|
||||
/* soft linebreaks */
|
||||
cy.get('br').should('exist')
|
||||
|
||||
/* emphasis */
|
||||
cy.get('em').should('exist')
|
||||
|
||||
/* strong */
|
||||
cy.get('strong').should('exist')
|
||||
|
||||
/* ordered list */
|
||||
cy.get('ol').should('exist')
|
||||
|
||||
/* linebreak */
|
||||
cy.get('hr').should('exist')
|
||||
|
||||
/* links exists? hard to test, any idea? We need to wrap it in a div... */
|
||||
|
||||
/* images */
|
||||
cy.get('img').eq(0).should('have.attr', 'alt', 'alt-text')
|
||||
cy.get('img').eq(0).should('have.attr', 'src', 'media/markdown.png')
|
||||
cy.get('img').eq(2).should('have.id', 'myid')
|
||||
.and('have.class', 'otherclass')
|
||||
.and('have.attr', 'alt', 'alt-text')
|
||||
.and('have.attr', 'title', 'my title')
|
||||
.and('have.attr', 'width', '150px')
|
||||
|
||||
/* blockquote */
|
||||
cy.get('blockquote').should('exist')
|
||||
|
||||
/* footnote */
|
||||
cy.get('sup').eq(0).should('have.id', 'fnref1:1')
|
||||
cy.get('sup').eq(0).within(($sup) =>{
|
||||
cy.get('a').eq(0).should('have.attr', 'href', '/typemillTest/welcome/markdown-test#fn%3A1')
|
||||
.and('have.class', 'footnote-ref')
|
||||
})
|
||||
|
||||
/* abbreviation */
|
||||
cy.get('abbr').should('exist')
|
||||
|
||||
/* definition list */
|
||||
cy.get('dl').should('exist')
|
||||
|
||||
/* table */
|
||||
cy.get('table').should('exist')
|
||||
|
||||
/* code */
|
||||
cy.get('pre').should('exist')
|
||||
cy.get('code').should('exist')
|
||||
|
||||
/* math */
|
||||
cy.get('.math').should('exist')
|
||||
|
||||
/* footnote end */
|
||||
cy.get('.footnotes').within(($footnotes) => {
|
||||
cy.get('li').eq(0).should('have.id', 'fn:1')
|
||||
cy.get('a').eq(0).should('have.class', 'footnote-backref')
|
||||
.and('have.attr', 'href', '/typemillTest/welcome/markdown-test#fnref1%3A1')
|
||||
.and('have.attr', 'rev', 'footnote')
|
||||
})
|
||||
})
|
||||
})
|
109
cypress/test03-system-settings.spec.js
Normal file
109
cypress/test03-system-settings.spec.js
Normal file
@@ -0,0 +1,109 @@
|
||||
describe('Typemill System Settings', function()
|
||||
{
|
||||
before(function ()
|
||||
{
|
||||
cy.visit('/tm/login')
|
||||
cy.url().should('include','/tm/login')
|
||||
|
||||
cy.get('input[name="username"]').type('trendschau')
|
||||
cy.get('input[name="password"]').type('password')
|
||||
|
||||
cy.get('form').submit()
|
||||
cy.url().should('include','/tm/content')
|
||||
cy.getCookie('typemill-session').should('exist')
|
||||
|
||||
cy.visit('/tm/settings')
|
||||
cy.url().should('include','/tm/settings')
|
||||
})
|
||||
|
||||
beforeEach(function ()
|
||||
{
|
||||
Cypress.Cookies.preserveOnce('typemill-session')
|
||||
})
|
||||
|
||||
it('validates the form', function()
|
||||
{
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[title]"]')
|
||||
.clear()
|
||||
.type('Cypress<?')
|
||||
.should('have.value', 'Cypress<?')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[author]"]')
|
||||
.clear()
|
||||
.type('trendschau')
|
||||
.should('have.value', 'trendschau')
|
||||
|
||||
// fill out copyright data
|
||||
cy.get('select[name="settings[copyright]"]')
|
||||
.select('CC-BY')
|
||||
.should('have.value', 'CC-BY')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[year]"]')
|
||||
.clear()
|
||||
.type('2017')
|
||||
.should('have.value', '2017')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
// fill out copyright data
|
||||
cy.get('select[name="settings[language]"]')
|
||||
.select('German')
|
||||
.should('have.value', 'de')
|
||||
|
||||
// submit form
|
||||
cy.get('form').submit()
|
||||
cy.get('#flash-message').should('contain', 'Please correct the errors')
|
||||
cy.get('.error').should('contain', 'Title contains invalid characters')
|
||||
})
|
||||
|
||||
it('changes default values', function()
|
||||
{
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[title]"]')
|
||||
.clear()
|
||||
.type('Cypress')
|
||||
.should('have.value', 'Cypress')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[author]"]')
|
||||
.clear()
|
||||
.type('robot')
|
||||
.should('have.value', 'robot')
|
||||
|
||||
cy.get('select[name="settings[copyright]"]')
|
||||
.select('CC-BY-ND')
|
||||
.should('have.value', 'CC-BY-ND')
|
||||
|
||||
// fill out copyright data
|
||||
cy.get('select[name="settings[language]"]')
|
||||
.select('English')
|
||||
.should('have.value', 'en')
|
||||
|
||||
cy.get('form').submit()
|
||||
cy.get('#flash-message').should('contain', 'Settings are stored')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[title]"]')
|
||||
.should('have.value', 'Cypress')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[author]"]')
|
||||
.should('have.value', 'robot')
|
||||
|
||||
// fill out copyright data
|
||||
cy.get('select[name="settings[copyright]"]')
|
||||
.should('have.value', 'CC-BY-ND')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="settings[year]"]')
|
||||
.should('have.value', '2017')
|
||||
|
||||
// fill out copyright data
|
||||
cy.get('select[name="settings[language]"]')
|
||||
.should('have.value', 'en')
|
||||
})
|
||||
})
|
197
cypress/test04-theme-settings.spec.js
Normal file
197
cypress/test04-theme-settings.spec.js
Normal file
@@ -0,0 +1,197 @@
|
||||
describe('Typemill Theme Settings', function()
|
||||
{
|
||||
before(function ()
|
||||
{
|
||||
cy.visit('/tm/login')
|
||||
cy.url().should('include','/tm/login')
|
||||
|
||||
cy.get('input[name="username"]').type('trendschau')
|
||||
cy.get('input[name="password"]').type('password')
|
||||
|
||||
cy.get('form').submit()
|
||||
cy.url().should('include','/tm/content')
|
||||
cy.getCookie('typemill-session').should('exist')
|
||||
|
||||
cy.visit('/tm/themes')
|
||||
cy.url().should('include','/tm/themes')
|
||||
})
|
||||
|
||||
beforeEach(function ()
|
||||
{
|
||||
Cypress.Cookies.preserveOnce('typemill-session')
|
||||
})
|
||||
|
||||
it('changes default values', function()
|
||||
{
|
||||
|
||||
// open the form
|
||||
cy.get('#typemill-toggle')
|
||||
.should('contain', 'Settings')
|
||||
.click()
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[chapter]"]')
|
||||
.should('have.value', 'Chapter')
|
||||
.clear()
|
||||
.type('Kapitel')
|
||||
.should('have.value', 'Kapitel')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[start]"]')
|
||||
.should('have.value', 'Start')
|
||||
.clear()
|
||||
.type('Run')
|
||||
.should('have.value', 'Run')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[chapnum]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[authorPosition][top]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[authorIntro]"]')
|
||||
.should('have.value', 'Author')
|
||||
.clear()
|
||||
.type('Writer')
|
||||
.should('have.value', 'Writer')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[modifiedPosition][bottom]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[modifiedText]"]')
|
||||
.should('have.value', 'Last updated')
|
||||
.clear()
|
||||
.type('Final update')
|
||||
.should('have.value', 'Final update')
|
||||
|
||||
cy.get('select[name="typemill[modifiedFormat]"]')
|
||||
.should('have.value', 'd.m.Y')
|
||||
.select('m/d/Y')
|
||||
.should('have.value', 'm/d/Y')
|
||||
|
||||
cy.get('input[name="typemill[socialPosition][bottom]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[socialButtons][facebook]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[socialButtons][twitter]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[socialButtons][xing]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[gitPosition][top]"]')
|
||||
.should('not.be.checked')
|
||||
.and('not.be.visible')
|
||||
.check({ force: true })
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[gitlink]"]')
|
||||
.clear()
|
||||
.type('https://github.com/typemill/docs')
|
||||
.should('have.value', 'https://github.com/typemill/docs')
|
||||
|
||||
|
||||
cy.get('#theme-typemill').submit()
|
||||
cy.get('#flash-message').should('contain', 'Settings are stored')
|
||||
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[chapter]"]')
|
||||
.should('have.value', 'Kapitel')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[start]"]')
|
||||
.should('have.value', 'Run')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[chapnum]"]')
|
||||
.should('be.checked')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[authorPosition][top]"]')
|
||||
.should('be.checked')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[authorIntro]"]')
|
||||
.should('have.value', 'Writer')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[modifiedPosition][bottom]"]')
|
||||
.should('be.checked')
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[modifiedText]"]')
|
||||
.should('have.value', 'Final update')
|
||||
|
||||
cy.get('select[name="typemill[modifiedFormat]"]')
|
||||
.should('have.value', 'm/d/Y')
|
||||
|
||||
cy.get('input[name="typemill[socialPosition][bottom]"]')
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[socialButtons][facebook]"]')
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[socialButtons][twitter]"]')
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[socialButtons][xing]"]')
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[gitPosition][top]"]')
|
||||
.should('be.checked')
|
||||
|
||||
cy.get('input[name="typemill[gitlink]"]')
|
||||
.should('have.value', 'https://github.com/typemill/docs')
|
||||
})
|
||||
|
||||
it('validates input', function()
|
||||
{
|
||||
|
||||
// open the form
|
||||
cy.get('#typemill-toggle')
|
||||
.should('contain', 'Settings')
|
||||
.click()
|
||||
|
||||
// fill out valid data
|
||||
cy.get('input[name="typemill[chapter]"]')
|
||||
.should('have.value', 'Kapitel')
|
||||
.clear()
|
||||
.type('Kapitel<?')
|
||||
.should('have.value', 'Kapitel<?')
|
||||
|
||||
// submit form
|
||||
cy.get('#theme-typemill').submit()
|
||||
|
||||
cy.get('#flash-message').should('contain', 'Please correct the errors')
|
||||
|
||||
})
|
||||
})
|
87
cypress/test99-login.spec.js
Normal file
87
cypress/test99-login.spec.js
Normal file
@@ -0,0 +1,87 @@
|
||||
describe('Typemill Login', function()
|
||||
{
|
||||
it('redirects if visits dashboard without login', function ()
|
||||
{
|
||||
cy.visit('/tm/content')
|
||||
cy.url().should('include', '/tm/login')
|
||||
})
|
||||
|
||||
it('submits a valid form and logout', function ()
|
||||
{
|
||||
// visits login page and adds valid input
|
||||
cy.visit('/tm/login')
|
||||
cy.url().should('include','/tm/login')
|
||||
|
||||
cy.get('input[name="username"]')
|
||||
.type('trendschau')
|
||||
.should('have.value', 'trendschau')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
cy.get('input[name="password"]')
|
||||
.type('password')
|
||||
.should('have.value', 'password')
|
||||
.and('have.attr', 'required')
|
||||
|
||||
// can login
|
||||
cy.get('form').submit()
|
||||
cy.url().should('include','/tm/content')
|
||||
cy.getCookie('typemill-session').should('exist')
|
||||
|
||||
Cypress.Cookies.preserveOnce('typemill-session')
|
||||
})
|
||||
|
||||
it('redirects if visits login form when logged in', function ()
|
||||
{
|
||||
cy.visit('/tm/login')
|
||||
cy.url().should('include', '/tm/content')
|
||||
|
||||
Cypress.Cookies.preserveOnce('typemill-session')
|
||||
})
|
||||
|
||||
it('logs out', function ()
|
||||
{
|
||||
cy.contains('Logout').click()
|
||||
cy.url().should('include', '/tm/login')
|
||||
})
|
||||
|
||||
it('fails without CSRF-token', function ()
|
||||
{
|
||||
cy.request({
|
||||
method: 'POST',
|
||||
url: '/tm/login', // baseUrl is prepended to url
|
||||
form: true, // indicates the body should be form urlencoded and sets Content-Type: application/x-www-form-urlencoded headers
|
||||
failOnStatusCode: false,
|
||||
body: {
|
||||
username: 'trendschau',
|
||||
password: 'password'
|
||||
}
|
||||
})
|
||||
.its('body')
|
||||
.should('include', 'Failed CSRF check')
|
||||
})
|
||||
|
||||
it('blocks after 3 fails', function ()
|
||||
{
|
||||
cy.visit('/tm/login')
|
||||
|
||||
// validation fails first
|
||||
cy.get('input[name="username"]').clear().type('wrong')
|
||||
cy.get('input[name="password"]').clear().type('pass')
|
||||
cy.get('form').submit()
|
||||
cy.get('#flash-message').should('contain', 'wrong password or username')
|
||||
cy.get('input[name="username"]').should('have.value', 'wrong')
|
||||
cy.get('input[name="password"]').should('have.value', '')
|
||||
|
||||
// validation fails second
|
||||
cy.get('input[name="password"]').clear().type('pass')
|
||||
cy.get('form').submit()
|
||||
cy.get('#flash-message').should('contain', 'wrong password or username')
|
||||
|
||||
// validation fails third and login is blocked
|
||||
cy.get('input[name="password"]').clear().type('pass')
|
||||
cy.get('form').submit()
|
||||
cy.get('#flash-message').should('contain', 'Too many bad logins')
|
||||
cy.contains('wait')
|
||||
cy.contains('Forgot password')
|
||||
})
|
||||
})
|
@@ -1,127 +1,139 @@
|
||||
# English
|
||||
|
||||
# themes/typemill/typemill.yaml
|
||||
ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Activate Special Startpage-Design
|
||||
AUTHOR_INTRO: Author Intro
|
||||
BOTTOM: Bottom
|
||||
BY: by
|
||||
COUNT_CHAPTERS_IN_NAVIGATION?: Count chapters in navigation?
|
||||
DIFFERENT_DESIGN_FOR_STARTPAGE: Different Design for Startpage
|
||||
FACEBOOK: Facebook
|
||||
FORMAT: Format
|
||||
GITHUB: GitHub
|
||||
LABEL_FOR_CHAPTER: Label for Chapter
|
||||
LABEL_FOR_START_BUTTON: Label for Start Button
|
||||
LAST_MODIFIED_FORMAT: Last Modified Format
|
||||
LAST_MODIFIED: Last Modified
|
||||
LAST_MODIFIED_TEXT: Last Modified Text
|
||||
LINKEDIN: Linkedin
|
||||
LINK_TO_GIT_REPOSITORY: Link to git repository
|
||||
MAIL: Mail
|
||||
POSITION_OF_AUTHOR: Position of Author
|
||||
POSITION_OF_GIT_EDIT_LINK: Position of Git Edit Link
|
||||
POSITION_OF_MODIFIED_TEXT: Position of Modified Text
|
||||
POSITION_OF_SHARE_BUTTONS: Position of Share-Buttons
|
||||
SELECT_SHARE_BUTTONS: Select Share Buttons
|
||||
SHARE: Share
|
||||
SHOW_CHAPTER_NUMBERS: Show Chapter Numbers
|
||||
TOP: Top
|
||||
TWITTER: Twitter
|
||||
TYPEMILL_DESCRIPTION: The standard theme for Typemill. Responsive, minimal and without any dependencies. It uses the system fonts Calibri and Helvetica. No JavaScript is used.
|
||||
WHATSAPP: WhatsApp
|
||||
XING: Xing
|
||||
|
||||
# system/author/layouts/layoutBlox.twig
|
||||
ADD: add
|
||||
BOLD: bold
|
||||
BULLET_LIST: Bullet List
|
||||
CHECK: check
|
||||
CODE: Code
|
||||
COG: cog
|
||||
CROSS: cross
|
||||
DEFINITION: Definition List
|
||||
DELETE_CLOSE: delete/close
|
||||
DELETE: delete
|
||||
EXTERNAL_LINK: external-link
|
||||
FOLDER: folder
|
||||
HEADLINE: Headline
|
||||
HOME: home
|
||||
HORIZONTAL_LINE: Horizontal Line
|
||||
IMAGE: Image
|
||||
ITALIC: italic
|
||||
LINK: link
|
||||
MOVE_VERTICAL: move vertical
|
||||
NUMBERED_LIST: Numbered List
|
||||
PARAGRAPH: Paragraph
|
||||
POWER_OFF: power-off
|
||||
QUOTES: Quote
|
||||
TABLE_OF_CONTENTS: Table of Contents
|
||||
TABLE: Table
|
||||
TEXT_FILE: text-file
|
||||
UPLOAD: upload
|
||||
VIDEO: Video
|
||||
|
||||
# others
|
||||
ACCOUNT: Account
|
||||
ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Activate Special Startpage-Design
|
||||
ACTIVE: Active
|
||||
ACTUAL_PASSWORD: Actual Password
|
||||
ADD: add
|
||||
ADD_CONTENT_BLOCK: add content-block
|
||||
ADD_DEFINITION: add definition
|
||||
ADD_FILE: add file
|
||||
ADD_FOLDER: add folder
|
||||
ADD_FOLDER_TO_BASE_LEVEL: add folder to base level
|
||||
ADD_ITEM: add item
|
||||
ADD_LEFT_COLUMN: add left column
|
||||
ADD_RIGHT_COLUMN: add right column
|
||||
ADD_ROW_ABOVE: add row above
|
||||
ADD_ROW_BELOW: add row below
|
||||
ALL_USERS: All users
|
||||
ALT_TEXT: Alt-Text
|
||||
AUTHOR: Author
|
||||
AUTHOR_INTRO: Author Intro
|
||||
BACK_TO_STARTPAGE: back to startpage
|
||||
BOLD: bold
|
||||
BOTTOM: Bottom
|
||||
BROWSE: BROWSE
|
||||
BULLET_LIST: Bullet List
|
||||
BY: by
|
||||
CANCEL: cancel
|
||||
CAPTION: Caption
|
||||
CELL: cell
|
||||
CENTER: Center
|
||||
CHECK: check
|
||||
CHOOSE_FILE: Choose file
|
||||
CODE: code
|
||||
CLASS: Class
|
||||
CLOSE_LIBRARY: Close Library
|
||||
CODE: Code
|
||||
COG: cog
|
||||
CONTENT: Content
|
||||
CONTENT: Content
|
||||
COPYRIGHT: Copyright
|
||||
COUNT_CHAPTERS_IN_NAVIGATION?: Count chapters in navigation?
|
||||
CREATED_AT__READ_ONLY_: Created at (readonly)
|
||||
CREATED_AT__READONLY_: Created at (read only)
|
||||
CREATE_NEW_USER: Create New User
|
||||
CREATE_USER: Create User
|
||||
DEFINITION: definition
|
||||
CROSS: cross
|
||||
CUSTOM_CSS: Custom CSS
|
||||
DEFINITION: Definition List
|
||||
DEFINITION_LIST: Definition List
|
||||
DELETE_CLOSE: delete/close
|
||||
DELETE_COLUMN: delete column
|
||||
DELETE_CONTENT_BLOCK: delete content-block
|
||||
DELETE: delete
|
||||
DELETE_PAGE: Delete page
|
||||
DELETE_ROW: delete row
|
||||
DELETE_USER: Delete User
|
||||
DESCRIPTION: description
|
||||
DIFFERENT_DESIGN_FOR_STARTPAGE: Different Design for Startpage
|
||||
DISCARD_CHANGES: Discard Changes
|
||||
DISCARD: Discard
|
||||
DO_YOU_REALLY_WANT_TO_DELETE_THE_USER: Do you really want to delete the user
|
||||
DO_YOU_REALLY_WANT_TO_DELETE_THIS_PAGE: Do you really want to delete this page?
|
||||
DO_YOU_WANT_TO_DISCARD_YOUR_CHANGES_AND_SET_THE_CONTENT_BACK_TO_THE_LIVE_VERSION: Do you want to discard your changes and set the content back to the live version?
|
||||
DRAFT: Draft
|
||||
DRAG_A_PICTURE_OR_CLICK_TO_SELECT: upload an image
|
||||
EDIT: edit
|
||||
EDIT_USER: Edit User
|
||||
E_G_: e.g.
|
||||
E_MAIL: E-Mail
|
||||
EXTERNAL_LINK: external-link
|
||||
FACEBOOK: Facebook
|
||||
FILE: File
|
||||
FIRST_NAME: First Name
|
||||
FOLDER: folder
|
||||
FORGOT_PASSWORD: Forgot password
|
||||
HEADLINE: headline
|
||||
FORMAT: Format
|
||||
GITHUB: GitHub
|
||||
HEAD: Head
|
||||
HEADLINE: Headline
|
||||
HIDE: Hide
|
||||
HIDE_PAGE_FROM_NAVIGATION: Hide page from navigation
|
||||
HOME: home
|
||||
HOMEPAGE: Homepage
|
||||
HORIZONTAL_LINE: Horizontal Line
|
||||
HR: hr
|
||||
IMAGE: image
|
||||
IF_NOT_FILLED__THE_DESCRIPTION_IS_EXTRACTED_FROM_CONTENT_: If not filled, the description is extracted from content.
|
||||
IMAGE: Image
|
||||
ITALIC: italic
|
||||
LABEL_FOR_CHAPTER: Label for Chapter
|
||||
LABEL_FOR_START_BUTTON: Label for Start Button
|
||||
LANGUAGE: Language
|
||||
LAST_MODIFIED_FORMAT: Last Modified Format
|
||||
LAST_MODIFIED: Last Modified
|
||||
LAST_MODIFIED_LIVE__READONLY_: Last modified live (readonly)
|
||||
LAST_MODIFIED_TEXT: Last Modified Text
|
||||
LAST_NAME: Last Name
|
||||
LEFT: Left
|
||||
LICENCE: Licence
|
||||
LINKEDIN: Linkedin
|
||||
LINK: Link
|
||||
LINK_TO_GIT_REPOSITORY: Link to git repository
|
||||
LINK_TO_VIDEO: Link to video
|
||||
LOGIN: Login
|
||||
LOGO_ON_STARTPAGE: Logo on startpage
|
||||
LOGOUT: Logout
|
||||
MAIL: Mail
|
||||
MANUAL_DATE: Manual date
|
||||
MARKDOWN: markdown
|
||||
MENU: Menu
|
||||
META_TITLE: meta title
|
||||
META_DESCRIPTION: Meta description
|
||||
META: meta
|
||||
META_TITLE: Meta title
|
||||
MISSING_REQUIREMENTS: Missing Requirements
|
||||
MOVE_VERTICAL: move vertical
|
||||
NAVIGATION_TITLE: Navigation Title
|
||||
NEW_PASSWORD: New Password
|
||||
NO_DESCRIPTION: No description
|
||||
NO_PREVIEW: No Preview
|
||||
NO_SETTINGS: No Settings
|
||||
NOT_EDITABLE: not editable
|
||||
NUMBERED_LIST: Numbered List
|
||||
OLIST: olist
|
||||
ONLY_THE_FOLLOWING_SPECIAL_CHARACTERS_ARE_ALLOWED: Only the following special characters are allowed:
|
||||
PARAGRAPH: Paragraph
|
||||
PASSWORD: Password
|
||||
PLEASE_CONFIRM: Please confirm
|
||||
PLEASE_CORRECT_THE_ERRORS_ABOVE: Please correct the errors above
|
||||
PLUGINS: Plugins
|
||||
PLUGIN_STORE: Plugin Store
|
||||
POSITION_OF_AUTHOR: Position of Author
|
||||
POSITION_OF_GIT_EDIT_LINK: Position of Git Edit Link
|
||||
POSITION_OF_MODIFIED_TEXT: Position of Modified Text
|
||||
POSITION_OF_SHARE_BUTTONS: Position of Share-Buttons
|
||||
POWER_OFF: power-off
|
||||
PUBLISH: Publish
|
||||
QUOTE: quote
|
||||
QUOTE: Quote
|
||||
QUOTES: Quote
|
||||
RAW_CONTENT_EDITOR: Raw Content Editor
|
||||
RAW_MARKDOWN_EDITOR: Raw Markdown Editor
|
||||
RAW_MODE: raw mode
|
||||
@@ -129,30 +141,47 @@ RAW: raw
|
||||
READONLY: Readonly
|
||||
REMEMBER_TO_BOOKMARK_THIS_PAGE: Remember to bookmark this page
|
||||
REQUIRED: Required
|
||||
RIGHT: Right
|
||||
ROLE: Role
|
||||
SAVE_ALL_SETTINGS: Save All Settings
|
||||
SAVED_SUCCESSFULLY: Saved successfully
|
||||
SAVE: Save
|
||||
SAVE_THEME: Save Theme
|
||||
SELECT_SHARE_BUTTONS: Select Share Buttons
|
||||
SETTINGS: Settings
|
||||
SETTINGS_ARE_STORED: Settings are stored
|
||||
SETUP: Setup
|
||||
SHARE: Share
|
||||
SHOW_CHAPTER_NUMBERS: Show Chapter Numbers
|
||||
SHOW_LOGO_INSTEAD_OF_TITLE_ON_STARTPAGE: Show logo instead of title on startpage
|
||||
STANDARD_EDITOR_MODE: Standard Editor Mode
|
||||
START: Start
|
||||
SYSTEM: System
|
||||
TABLE: table
|
||||
TABLE_OF_CONTENTS: Table of Contents
|
||||
TABLE: Table
|
||||
TAKEN_FROM_YOUR_USER_ACCOUNT_IF_SET_: Taken from your user account if set.
|
||||
TERM: term
|
||||
TEXT_FILE: text-file
|
||||
THE_FORMAT_BUTTONS: The Format Buttons
|
||||
THEMES: Themes
|
||||
THEME_STORE: Theme Store
|
||||
TITLE: Title
|
||||
TOC: toc
|
||||
TOP: Top
|
||||
TWITTER: Twitter
|
||||
TYPEMILL_DESCRIPTION: The standard theme for Typemill. Responsive, minimal and without any dependencies. It uses the system fonts Calibri and Helvetica. No JavaScript is used.
|
||||
ULIST: ulist
|
||||
UNKNOWN: Unknown
|
||||
UPDATE_USER: Update User
|
||||
UPLOAD: upload
|
||||
UPLOAD_FILE: Upload a file
|
||||
USE_2_TO_40_CHARACTERS: Use 2 to 40 characters.
|
||||
USE_A_VALID_YEAR: Use a valid year
|
||||
USED_AS_FALLBACK_WHEN_NO_MANUAL_DATE_IS_SET_: Used as fallback when no manual date is set.
|
||||
USERNAME: Username
|
||||
USERS: Users
|
||||
USER: User
|
||||
VIDEO: video
|
||||
VIDEO: Video
|
||||
VIEW_SITE: View Site
|
||||
VISUAL_CONTENT_EDITOR: Visual Content Editor
|
||||
VISUAL_EDITOR: Visual Editor
|
||||
@@ -162,5 +191,8 @@ VISUAL: visual
|
||||
WAIT: wait
|
||||
WEBSITE_TITLE: Website Title
|
||||
WEB: Web
|
||||
WHATSAPP: WhatsApp
|
||||
WRITING: Writing
|
||||
YEAR: Year
|
||||
XING: Xing
|
||||
YEAR: Year
|
||||
YOU_CAN_OVERWRITE_THE_THEME_CSS_WITH_YOUR_OWN_CSS_HERE_: You can overwrite the theme-css with your own css here.
|
||||
|
@@ -1,123 +1,138 @@
|
||||
# Italiano
|
||||
|
||||
# themes/typemill/typemill.yaml
|
||||
ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Attiva il disegno speciale della pagina iniziale
|
||||
AUTHOR_INTRO: Introduzione dell'autore
|
||||
BOTTOM: Sotto
|
||||
BY: di
|
||||
COUNT_CHAPTERS_IN_NAVIGATION?: Contare i capitoli nella navigazione?
|
||||
DIFFERENT_DESIGN_FOR_STARTPAGE: Disegno diverso per la pagina iniziale
|
||||
FACEBOOK: Facebook
|
||||
FORMAT: Format
|
||||
GITHUB: GitHub
|
||||
LABEL_FOR_CHAPTER: Etichetta per capitolo
|
||||
LABEL_FOR_START_BUTTON: Etichetta per il pulsante Comincia
|
||||
LAST_MODIFIED_FORMAT: Ultimo formato modificato
|
||||
LAST_MODIFIED_TEXT: Ultimo testo modificato
|
||||
LAST_MODIFIED: Ultima modifica
|
||||
LINKEDIN: Linkedin
|
||||
LINK_TO_GIT_REPOSITORY: Collegamento al deposito git
|
||||
MAIL: Mail
|
||||
POSITION_OF_AUTHOR: Posizione dell'autore
|
||||
POSITION_OF_GIT_EDIT_LINK: Posizione del collegamento modifica Git
|
||||
POSITION_OF_MODIFIED_TEXT: Posizione del testo modificato
|
||||
POSITION_OF_SHARE_BUTTONS: Posizione dei pulsanti di condivisione
|
||||
SELECT_SHARE_BUTTONS: Seleziona i pulsanti pulsanti di condivisione
|
||||
SHARE: Condividere
|
||||
SHOW_CHAPTER_NUMBERS: Mostra i numeri dei capitoli
|
||||
TOP: Sopra
|
||||
TWITTER: Twitter
|
||||
TYPEMILL_DESCRIPTION: Il tema standard per Typemill. Reattivo, minimo e senza dipendenze. Utilizza i caratteri di sistema Calibri ed Helvetica. Non viene utilizzato JavaScript.
|
||||
WHATSAPP: WhatsApp
|
||||
XING: Xing
|
||||
|
||||
# system/author/layouts/layoutBlox.twig
|
||||
ADD: aggiungi
|
||||
BOLD: grassetto
|
||||
BULLET_LIST: Elenco puntato
|
||||
CHECK: controllo
|
||||
CODE: Codice
|
||||
COG: ingranaggio
|
||||
CROSS: croce
|
||||
DEFINITION: Elenco delle definizioni
|
||||
DELETE_CLOSE: elimina/chiudi
|
||||
DELETE: elimina
|
||||
EXTERNAL_LINK: collegamento esterno
|
||||
FOLDER: cartella
|
||||
HEADLINE: Titolo
|
||||
HOME: home
|
||||
HORIZONTAL_LINE: Linea orizzontale
|
||||
IMAGE: Immagine
|
||||
ITALIC: corsivo
|
||||
LINK: collegamento
|
||||
MOVE_VERTICAL: spostare in verticale
|
||||
NUMBERED_LIST: Elenco numerato
|
||||
PARAGRAPH: Paragrafo
|
||||
POWER_OFF: spegni
|
||||
QUOTES: Citazione
|
||||
TABLE_OF_CONTENTS: Sommario
|
||||
TABLE: Tabella
|
||||
TEXT_FILE: file di testo
|
||||
VIDEO: Video
|
||||
|
||||
ACCOUNT: Utenza
|
||||
ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Attiva il disegno speciale della pagina iniziale
|
||||
ACTIVE: Attivo
|
||||
ACTUAL_PASSWORD: Parola d'ordine corrente
|
||||
ADD: aggiungi
|
||||
ADD_CONTENT_BLOCK: aggiungi blocco contenuto
|
||||
ADD_DEFINITION: aggiungi definizione
|
||||
ADD_FILE: aggiungi file
|
||||
ADD_FOLDER: aggiungi cartella
|
||||
ADD_FOLDER_TO_BASE_LEVEL: aggiungi cartella al livello base
|
||||
ADD_ITEM: aggiungi articolo
|
||||
ADD_LEFT_COLUMN: aggiungi colonna a sinistra
|
||||
ADD_RIGHT_COLUMN: aggiungi colonna a destra
|
||||
ADD_ROW_ABOVE: aggiungi la riga sopra
|
||||
ADD_ROW_BELOW: aggiungi la riga sotto
|
||||
ALL_USERS: Tutti gli utenti
|
||||
ALT_TEXT: Testo alternativo
|
||||
AUTHOR: Autore
|
||||
AUTHOR_INTRO: Introduzione dell'autore
|
||||
BACK_TO_STARTPAGE: torna alla pagina iniziale
|
||||
BOLD: grassetto
|
||||
BOTTOM: Sotto
|
||||
BROWSE: Sfoglia
|
||||
BULLET_LIST: Elenco puntato
|
||||
BY: di
|
||||
CODE: codice
|
||||
CANCEL: Annulla
|
||||
CAPTION: Didascalia
|
||||
CELL: cella
|
||||
CENTER: Centro
|
||||
CHECK: controllo
|
||||
CHOOSE_FILE: Scegli il file
|
||||
CLASS: Classe
|
||||
CODE: Codice
|
||||
COG: ingranaggio
|
||||
CONTENT: Contenuto
|
||||
CONTENT: Contenuto
|
||||
COPYRIGHT: Diritti d'autore
|
||||
COUNT_CHAPTERS_IN_NAVIGATION?: Contare i capitoli nella navigazione?
|
||||
CREATED_AT__READ_ONLY_: Creato il (sola lettura)
|
||||
CREATED_AT__READONLY_: Creato il (sola lettura)
|
||||
CREATE_NEW_USER: Crea nuovo utente
|
||||
CREATE_USER: Crea utente
|
||||
DEFINITION: elenco di definizioni
|
||||
CROSS: croce
|
||||
CUSTOM_CSS: CSS personalizzato
|
||||
DEFINITION: Elenco delle definizioni
|
||||
DEFINITION_LIST: Elenco delle definizioni
|
||||
DELETE_CLOSE: elimina/chiudi
|
||||
DELETE_COLUMN: elimina colonna
|
||||
DELETE_CONTENT_BLOCK: elimina blocco contenuto
|
||||
DELETE: elimina
|
||||
DELETE_PAGE: Elimina pagina
|
||||
DELETE_ROW: elimina riga
|
||||
DELETE_USER: Elimina utente
|
||||
DESCRIPTION: descrizione
|
||||
DIFFERENT_DESIGN_FOR_STARTPAGE: Disegno diverso per la pagina iniziale
|
||||
DISCARD_CHANGES: Non salvare le modifiche
|
||||
DISCARD: Scarta
|
||||
DO_YOU_REALLY_WANT_TO_DELETE_THE_USER: Vuoi veramente eliminare l'utente
|
||||
DO_YOU_REALLY_WANT_TO_DELETE_THIS_PAGE: Vuoi veramente cancellare questa pagina?
|
||||
DO_YOU_WANT_TO_DISCARD_YOUR_CHANGES_AND_SET_THE_CONTENT_BACK_TO_THE_LIVE_VERSION: Vuoi annullare le modifiche e ripristinare i contenuti alla versione precedente?
|
||||
DRAFT: Bozza
|
||||
DRAG_A_PICTURE_OR_CLICK_TO_SELECT: trascina un'immagine o fai clic per selezionare
|
||||
EDIT: modifica
|
||||
EDIT_USER: Modifica utente
|
||||
E_G_: per es.:
|
||||
E_MAIL: Posta elettronica
|
||||
EXTERNAL_LINK: collegamento esterno
|
||||
FACEBOOK: Facebook
|
||||
File: File
|
||||
FIRST_NAME: Nome
|
||||
FOLDER: cartella
|
||||
FORGOT_PASSWORD: Parola d'ordine dimenticata
|
||||
HEADLINE: titolo
|
||||
FORMAT: Format
|
||||
GITHUB: GitHub
|
||||
HEAD: Intestazione
|
||||
HEADLINE: Titolo
|
||||
HIDE: Nascondi
|
||||
HIDE_PAGE_FROM_NAVIGATION: Nasconde la pagina dalla navigazione
|
||||
HOME: home
|
||||
HOMEPAGE: Homepage
|
||||
HR: linea orizzontale
|
||||
IMAGE: immagine
|
||||
HORIZONTAL_LINE: Linea orizzontale
|
||||
HR: Linea orizzontale
|
||||
IF_NOT_FILLED__THE_DESCRIPTION_IS_EXTRACTED_FROM_CONTENT_: Se non compilato, la descrizione viene estratta dal contenuto.
|
||||
IMAGE: Immagine
|
||||
ITALIC: corsivo
|
||||
LABEL_FOR_CHAPTER: Etichetta per capitolo
|
||||
LABEL_FOR_START_BUTTON: Etichetta per il pulsante Comincia
|
||||
LANGUAGE: Lingua
|
||||
LAST_MODIFIED_FORMAT: Ultimo formato modificato
|
||||
LAST_MODIFIED_LIVE__READONLY_: Ultima modifica (sola lettura)
|
||||
LAST_MODIFIED_TEXT: Ultimo testo modificato
|
||||
LAST_MODIFIED: Ultima modifica
|
||||
LAST_NAME: Cognome
|
||||
LEFT: Sinistra
|
||||
LICENCE: Licenza
|
||||
LINK: Collegamento
|
||||
LINKEDIN: Linkedin
|
||||
LINK_TO_GIT_REPOSITORY: Collegamento al deposito git
|
||||
LINK_TO_VIDEO: Collega al video
|
||||
LOGIN: Accesso
|
||||
LOGO_ON_STARTPAGE: Logo sulla pagina iniziale
|
||||
LOGOUT: Disconnessione
|
||||
MARKDOWN: markdown
|
||||
MAIL: Mail
|
||||
MANUAL_DATE: Data manuale
|
||||
MARKDOWN: Markdown
|
||||
MENU: Menu
|
||||
META_TITLE: meta titolo
|
||||
META_DESCRIPTION: Descrizione
|
||||
META_TITLE: Titolo
|
||||
META: Metadati
|
||||
MISSING_REQUIREMENTS: Requisiti mancanti
|
||||
MOVE_VERTICAL: spostare in verticale
|
||||
NAVIGATION_TITLE: Titolo di navigazione
|
||||
NEW_PASSWORD: Nuova parola d'ordine
|
||||
NO_DESCRIPTION: Nessuna descrizione
|
||||
NO_PREVIEW: Nessuna anteprima
|
||||
NO_SETTINGS: Nessuna impostazione
|
||||
NOT_EDITABLE: non modificabile
|
||||
OLIST: elenchi ordinati
|
||||
NUMBERED_LIST: Elenco numerato
|
||||
OLIST: Elenchi ordinati
|
||||
ONLY_THE_FOLLOWING_SPECIAL_CHARACTERS_ARE_ALLOWED: Sono ammessi solo i seguenti caratteri speciali:
|
||||
PARAGRAPH: Paragrafo
|
||||
PASSWORD: Parola d'ordine
|
||||
PLEASE_CONFIRM: Per favore conferma
|
||||
PLEASE_CORRECT_THE_ERRORS_ABOVE: Si prega di correggere gli errori sopra
|
||||
PLUGINS: Plugin
|
||||
PLUGIN_STORE: Deposito plugin
|
||||
POSITION_OF_AUTHOR: Posizione dell'autore
|
||||
POSITION_OF_GIT_EDIT_LINK: Posizione del collegamento modifica Git
|
||||
POSITION_OF_MODIFIED_TEXT: Posizione del testo modificato
|
||||
POSITION_OF_SHARE_BUTTONS: Posizione dei pulsanti di condivisione
|
||||
POWER_OFF: spegni
|
||||
PUBLISH: Pubblica
|
||||
QUOTE: citazione
|
||||
QUOTE: Citazione
|
||||
QUOTES: Citazione
|
||||
RAW_CONTENT_EDITOR: Editore contenuto grezzo
|
||||
RAW: grezzo
|
||||
RAW_MARKDOWN_EDITOR: Editore grezzo Markdown
|
||||
@@ -125,30 +140,46 @@ RAW_MODE: modo grezzo
|
||||
READONLY: Sola lettura
|
||||
REMEMBER_TO_BOOKMARK_THIS_PAGE: Ricorda di aggiungere questa pagina ai segnalibri
|
||||
REQUIRED: Richiesto
|
||||
RIGHT: Destra
|
||||
ROLE: Ruolo
|
||||
SAVE_ALL_SETTINGS: Salva tutte le impostazioni
|
||||
SAVED_SUCCESSFULLY: Salvato con successo
|
||||
SAVE: Salva
|
||||
SAVE_THEME: Salva tema
|
||||
SELECT_SHARE_BUTTONS: Seleziona i pulsanti pulsanti di condivisione
|
||||
SETTINGS: Impostazioni
|
||||
SETTINGS_ARE_STORED: Le impostazioni sono memorizzate
|
||||
SETUP: Configurazione
|
||||
SHARE: Condividere
|
||||
SHOW_CHAPTER_NUMBERS: Mostra i numeri dei capitoli
|
||||
SHOW_LOGO_INSTEAD_OF_TITLE_ON_STARTPAGE: Mostra logo invece del titolo sulla pagina iniziale
|
||||
STANDARD_EDITOR_MODE: Modalità editore standard
|
||||
START: Comincia
|
||||
SYSTEM: Sistema
|
||||
TABLE: tabella
|
||||
TABLE_OF_CONTENTS: Sommario
|
||||
TABLE: Tabella
|
||||
TAKEN_FROM_YOUR_USER_ACCOUNT_IF_SET_: Tratto dalla tua utenza, se impostata.
|
||||
TERM: termine
|
||||
TEXT_FILE: file di testo
|
||||
THE_FORMAT_BUTTONS: pulsanti di formattazione
|
||||
THEMES: Temi
|
||||
THEME_STORE: Deposito temi
|
||||
TITLE: Titolo
|
||||
TOC: sommario
|
||||
ULIST: elenchi non ordinati
|
||||
TOC: Sommario
|
||||
TOP: Sopra
|
||||
TWITTER: Twitter
|
||||
TYPEMILL_DESCRIPTION: Il tema standard per Typemill. Reattivo, minimo e senza dipendenze. Utilizza i caratteri di sistema Calibri ed Helvetica. Non viene utilizzato JavaScript.
|
||||
ULIST: Elenchi non ordinati
|
||||
UNKNOWN: Ignoto
|
||||
UPDATE_USER: Aggiorna utente
|
||||
UPLOAD: carica
|
||||
USE_2_TO_40_CHARACTERS: Usa da 2 a 40 caratteri.
|
||||
USE_A_VALID_YEAR: Usa un anno valido
|
||||
USED_AS_FALLBACK_WHEN_NO_MANUAL_DATE_IS_SET_: Utilizzato come ripiego quando non è impostata alcuna data manuale.
|
||||
USERNAME: Nome utente
|
||||
USERS: Utenti
|
||||
USER: Utente
|
||||
VIDEO: video
|
||||
VIDEO: Video
|
||||
VIEW_SITE: Mostra sito
|
||||
VISUAL_CONTENT_EDITOR: Editore contenuto visivo
|
||||
VISUAL_EDITOR: Editore visivo
|
||||
@@ -158,5 +189,8 @@ VISUAL: visivo
|
||||
WAIT: aspetta
|
||||
WEBSITE_TITLE: Titolo del sito
|
||||
WEB: Sito
|
||||
WHATSAPP: WhatsApp
|
||||
WRITING: Scrittura
|
||||
YEAR: Anno
|
||||
XING: Xing
|
||||
YEAR: Anno
|
||||
YOU_CAN_OVERWRITE_THE_THEME_CSS_WITH_YOUR_OWN_CSS_HERE_: È possibile sovrascrivere il css del tema con il proprio CSS qui.
|
||||
|
@@ -1,123 +1,131 @@
|
||||
# Dutch
|
||||
|
||||
# themes/typemill/typemill.yaml
|
||||
ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Activeer speciaal startpagina-ontwerp
|
||||
AUTHOR_INTRO: Auteur Intro
|
||||
BOTTOM: bodem
|
||||
BY: door
|
||||
COUNT_CHAPTERS_IN_NAVIGATION?: Hoofdstukken tellen in navigatie?
|
||||
DIFFERENT_DESIGN_FOR_STARTPAGE: ander ontwerp voor startpagina
|
||||
FACEBOOK: Facebook
|
||||
FORMAT: Formaat
|
||||
GITHUB: GitHub
|
||||
LABEL_FOR_CHAPTER: Label voor hoofdstuk
|
||||
LABEL_FOR_START_BUTTON: label voor startknop
|
||||
LAST_MODIFIED_FORMAT: Laatst gewijzigd formaat
|
||||
LAST_MODIFIED: Laatst gewijzigd
|
||||
LAST_MODIFIED_TEXT: Laatst gewijzigde tekst
|
||||
LINKEDIN: Linkedin
|
||||
LINK_TO_GIT_REPOSITORY: Link naar git repository
|
||||
MAIL: Mail
|
||||
POSITION_OF_AUTHOR: Positie van auteur
|
||||
POSITION_OF_GIT_EDIT_LINK: Positie van Git Link bewerken
|
||||
POSITION_OF_MODIFIED_TEXT: Positie van gemodificeerde tekst
|
||||
POSITION_OF_SHARE_BUTTONS: Positie van Share-knoppen
|
||||
SELECT_SHARE_BUTTONS: Selecteer Share-knoppen
|
||||
SHARE: deel
|
||||
SHOW_CHAPTER_NUMBERS: hoofdstuknummers tonen
|
||||
TOP: Top
|
||||
TWITTER: Twitter
|
||||
TYPEMILL_DESCRIPTION: Het standaardthema voor typemill. Responsief, minimaal en zonder afhankelijkheden. Het gebruikt de systeemlettertypen Calibri en Helvetica. Er is geen JavaScript gebruikt.
|
||||
WHATSAPP: Whatsapp
|
||||
XING: Xing
|
||||
|
||||
# system/author/layouts/layoutBlox.twig
|
||||
ADD: toevoegen
|
||||
BOLD: vetgedrukt
|
||||
BULLET_LIST: Bullet List
|
||||
CHECK: check
|
||||
CODE: Code
|
||||
COG: tandwiel
|
||||
CROSS: kruis
|
||||
DEFINITION: Definitielijst
|
||||
DELETE_CLOSE: verwijderen / sluiten
|
||||
DELETE: verwijderen
|
||||
EXTERNAL_LINK: externe link
|
||||
FOLDER: map
|
||||
HEADLINE: Kop
|
||||
HOME: home
|
||||
HORIZONTAL_LINE: Horizontale lijn
|
||||
IMAGE: Afbeelding
|
||||
ITALIC: cursief
|
||||
LINK: link
|
||||
MOVE_VERTICAL: verplaats verticaal
|
||||
NUMBERED_LIST: Genummerde lijst
|
||||
PARAGRAPH: Paragraaf
|
||||
POWER_OFF: power-off
|
||||
QUOTES: Citeren
|
||||
TABLE_OF_CONTENTS: Inhoudsopgave
|
||||
TABLE: tabel
|
||||
TEXT_FILE: tekstbestand
|
||||
VIDEO: Video
|
||||
|
||||
ACCOUNT: Account
|
||||
ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Activeer speciaal startpagina-ontwerp
|
||||
ACTIVE: Actief
|
||||
ACTUAL_PASSWORD: Actueel wachtwoord
|
||||
ADD_CONTENT_BLOCK: inhoudblok toevoegen
|
||||
ADD_DEFINITION: definitie toevoegen
|
||||
ADD_FILE: Bestand toevoegen
|
||||
ADD_FOLDER: Map toevoegen
|
||||
ADD_FOLDER_TO_BASE_LEVEL: map toevoegen op basisniveau
|
||||
ADD_ITEM: Item toevoegen
|
||||
ADD_LEFT_COLUMN: linkerkolom toevoegen
|
||||
ADD_RIGHT_COLUMN: rechter kolom toevoegen
|
||||
ADD_ROW_ABOVE: rij boven toevoegen
|
||||
ADD_ROW_BELOW: rij hieronder toevoegen
|
||||
ADD: toevoegen
|
||||
ALL_USERS: Alle gebruikers
|
||||
ALT_TEXT: Alt-tekst
|
||||
AUTHOR: Auteur
|
||||
AUTHOR_INTRO: Auteur Intro
|
||||
BACK_TO_STARTPAGE: terug naar startpagina
|
||||
BOLD: vetgedrukt
|
||||
BOTTOM: bodem
|
||||
BULLET_LIST: Lijst met opsommingstekens
|
||||
BY: door
|
||||
CODE: code
|
||||
CANCEL: annuleren
|
||||
CAPTION: Bijschrift
|
||||
CELL: cel
|
||||
CENTER: Midden
|
||||
CHECK: check
|
||||
CLASS: Class
|
||||
CODE: Code
|
||||
COG: tandwiel
|
||||
CONTENT: Inhoud
|
||||
COPYRIGHT: Auteursrecht
|
||||
COUNT_CHAPTERS_IN_NAVIGATION?: Hoofdstukken tellen in navigatie?
|
||||
CREATED_AT__READ_ONLY_: Gemaakt om (alleen lezen)
|
||||
CREATED_AT__READONLY_: Gemaakt om (alleen lezen)
|
||||
CREATE_NEW_USER: Nieuwe gebruiker maken
|
||||
CREATE_USER: Gebruiker maken
|
||||
DEFINITION: definitie
|
||||
DELETE: verwijderen
|
||||
CROSS: kruis
|
||||
DEFINITION: Definitielijst
|
||||
DEFINITION_LIST: Definitielijst
|
||||
DELETE_CLOSE: verwijderen / sluiten
|
||||
DELETE_COLUMN: kolom verwijderen
|
||||
DELETE_CONTENT_BLOCK: content-block verwijderen
|
||||
DELETE_PAGE: pagina verwijderen
|
||||
DELETE_ROW: rij verwijderen
|
||||
DELETE_USER: Gebruiker verwijderen
|
||||
DELETE: verwijderen
|
||||
DESCRIPTION: omschrijving
|
||||
DIFFERENT_DESIGN_FOR_STARTPAGE: ander ontwerp voor startpagina
|
||||
DISCARD_CHANGES: Wijzigingen negeren
|
||||
DISCARD: weggooien
|
||||
DO_YOU_REALLY_WANT_TO_DELETE_THE_USER: Wilt u de gebruiker echt verwijderen
|
||||
DO_YOU_REALLY_WANT_TO_DELETE_THIS_PAGE: Wilt u deze pagina echt verwijderen?
|
||||
DO_YOU_WANT_TO_DISCARD_YOUR_CHANGES_AND_SET_THE_CONTENT_BACK_TO_THE_LIVE_VERSION: Wilt u uw wijzigingen annuleren en de inhoud terugzetten naar de live versie?
|
||||
DRAFT: Ontwerp
|
||||
DRAG_A_PICTURE_OR_CLICK_TO_SELECT: sleep een foto of klik om te selecteren
|
||||
EDIT: bewerken
|
||||
EDIT_USER: Gebruiker bewerken
|
||||
E_G_: bijv.
|
||||
E_MAIL: e-mail
|
||||
EXTERNAL_LINK: externe link
|
||||
FACEBOOK: Facebook
|
||||
FIRST_NAME: Voornaam
|
||||
FOLDER: map
|
||||
FORGOT_PASSWORD: Wachtwoord vergeten
|
||||
HEADLINE: kop
|
||||
FORMAT: Formaat
|
||||
GITHUB: GitHub
|
||||
HEAD: Kop
|
||||
HEADLINE: Kop
|
||||
HOME: home
|
||||
HOMEPAGE: Homepage
|
||||
HORIZONTAL_LINE: Horizontale lijn
|
||||
HORIZONTAL_LINE: Horizontale lijn
|
||||
HR: hr
|
||||
IMAGE: afbeelding
|
||||
IF_NOT_FILLED__THE_DESCRIPTION_IS_EXTRACTED_FROM_CONTENT_: Indien niet ingevuld, wordt de beschrijving uit de inhoud gehaald.
|
||||
IMAGE: Afbeelding
|
||||
ITALIC: cursief
|
||||
LABEL_FOR_CHAPTER: Label voor hoofdstuk
|
||||
LABEL_FOR_START_BUTTON: label voor startknop
|
||||
LANGUAGE: Taal
|
||||
LAST_MODIFIED_FORMAT: Laatst gewijzigd formaat
|
||||
LAST_MODIFIED: Laatst gewijzigd
|
||||
LAST_MODIFIED_LIVE__READONLY_: Laatst gewijzigd live (alleen-lezen)
|
||||
LAST_MODIFIED_TEXT: Laatst gewijzigde tekst
|
||||
LAST_NAME: achternaam
|
||||
LEFT: Links
|
||||
LICENCE: Licentie
|
||||
LINKEDIN: Linkedin
|
||||
LINK: Link
|
||||
LINK_TO_GIT_REPOSITORY: Link naar git repository
|
||||
LINK_TO_VIDEO: Link naar video
|
||||
LOGIN: Inloggen
|
||||
LOGOUT: Uitloggen
|
||||
MAIL: Mail
|
||||
MANUAL_DATE: Handmatige datum
|
||||
MARKDOWN: Markdown
|
||||
MENU: Menu
|
||||
META_DESCRIPTION: Metabeschrijving
|
||||
META: meta
|
||||
META_TITLE: metatitel
|
||||
META_TITLE: Metatitel
|
||||
MISSING_REQUIREMENTS: ontbrekende vereisten
|
||||
MOVE_VERTICAL: verplaats verticaal
|
||||
NEW_PASSWORD: Nieuw wachtwoord
|
||||
NO_DESCRIPTION: Geen beschrijving
|
||||
NO_PREVIEW: Geen voorbeeld
|
||||
NO_SETTINGS: Geen instellingen
|
||||
NOT_EDITABLE: niet bewerkbaar
|
||||
NUMBERED_LIST: Genummerde lijst
|
||||
OLIST: olist
|
||||
ONLY_THE_FOLLOWING_SPECIAL_CHARACTERS_ARE_ALLOWED: alleen de volgende speciale tekens zijn toegestaan:
|
||||
PARAGRAPH: Paragraaf
|
||||
PASSWORD: Wachtwoord
|
||||
PLEASE_CONFIRM: bevestig alstublieft
|
||||
PLEASE_CORRECT_THE_ERRORS_ABOVE: Corrigeer bovenstaande fouten
|
||||
PLUGINS: plug-ins
|
||||
PLUGIN_STORE: Plugin Store
|
||||
POSITION_OF_AUTHOR: Positie van auteur
|
||||
POSITION_OF_GIT_EDIT_LINK: Positie van Git Link bewerken
|
||||
POSITION_OF_MODIFIED_TEXT: Positie van gemodificeerde tekst
|
||||
POSITION_OF_SHARE_BUTTONS: Positie van Share-knoppen
|
||||
POWER_OFF: power-off
|
||||
PUBLISH: Publiceren
|
||||
QUOTE: quote
|
||||
QUOTE: Citeren
|
||||
QUOTES: Citeren
|
||||
RAW_CONTENT_EDITOR: Raw Content Editor
|
||||
RAW_MARKDOWN_EDITOR: Raw Markdown Editor
|
||||
RAW_MODE: onbewerkte modus
|
||||
@@ -125,30 +133,43 @@ RAW: rauw
|
||||
READONLY: Alleen lezen
|
||||
REMEMBER_TO_BOOKMARK_THIS_PAGE: vergeet deze pagina niet te bookmarken
|
||||
REQUIRED: verplicht
|
||||
RIGHT: Rechts
|
||||
ROLE: rol
|
||||
SAVE_ALL_SETTINGS: sla alle instellingen op
|
||||
SAVED_SUCCESSFULLY: succesvol opgeslagen
|
||||
SAVE: Opslaan
|
||||
SAVE_THEME: Thema opslaan
|
||||
SELECT_SHARE_BUTTONS: Selecteer Share-knoppen
|
||||
SETTINGS: Instellingen
|
||||
SETUP: Setup
|
||||
SHARE: deel
|
||||
SHOW_CHAPTER_NUMBERS: hoofdstuknummers tonen
|
||||
STANDARD_EDITOR_MODE: Standaardeditormodus
|
||||
START: Start
|
||||
SYSTEM: Systeem
|
||||
TABLE: tabel
|
||||
TABLE_OF_CONTENTS: Inhoudsopgave
|
||||
TABLE: Tabel
|
||||
TAKEN_FROM_YOUR_USER_ACCOUNT_IF_SET_: Genomen uit uw gebruikersaccount indien ingesteld.
|
||||
TERM: term
|
||||
TEXT_FILE: tekstbestand
|
||||
THE_FORMAT_BUTTONS: De opmaakknoppen
|
||||
THEMAS: Thema's
|
||||
THEME_STORE: Theme Store
|
||||
TITLE: Titel
|
||||
TOC: toc
|
||||
TOP: Top
|
||||
TWITTER: Twitter
|
||||
TYPEMILL_DESCRIPTION: Het standaardthema voor typemill. Responsief, minimaal en zonder afhankelijkheden. Het gebruikt de systeemlettertypen Calibri en Helvetica. Er is geen JavaScript gebruikt.
|
||||
ULIST: ulist
|
||||
UNKNOWN: onbekend
|
||||
UPDATE_USER: Gebruiker bijwerken
|
||||
USE_2_TO_40_CHARACTERS: gebruik 2 tot 40 tekens.
|
||||
USE_A_VALID_YEAR: Gebruik een geldig jaar
|
||||
USED_AS_FALLBACK_WHEN_NO_MANUAL_DATE_IS_SET_: Gebruikt als fallback als er geen handmatige datum is ingesteld.
|
||||
USER: Gebruiker
|
||||
USERNAME: Gebruikersnaam
|
||||
USERS: Gebruikers
|
||||
USER: Gebruiker
|
||||
VIDEO: video
|
||||
VIDEO: Video
|
||||
VIEW_SITE: Site bekijken
|
||||
VISUAL_CONTENT_EDITOR: Visual Content Editor
|
||||
VISUAL_EDITOR: visuele editor
|
||||
@@ -158,5 +179,7 @@ VISUEEL: visueel
|
||||
WAIT: wacht
|
||||
WEBSITE_TITLE: Titel van de website
|
||||
WEB: Web
|
||||
WHATSAPP: Whatsapp
|
||||
WRITING: schrijven
|
||||
YEAR: Jaar
|
||||
XING: Xing
|
||||
YEAR: Jaar
|
||||
|
@@ -1,53 +0,0 @@
|
||||
# English
|
||||
en:
|
||||
add content-block: add content-block
|
||||
add definition: add definition
|
||||
add left column: add left column
|
||||
add right column: add right column
|
||||
add row above: add row above
|
||||
add row below: add row below
|
||||
Alt-Text: Alt-Text
|
||||
author: author
|
||||
Bullet List: Bullet List
|
||||
cancel: cancel
|
||||
Caption: Caption
|
||||
cell: cell
|
||||
Center: Center
|
||||
Class: Class
|
||||
Code: Code
|
||||
Content: Content
|
||||
Created at (readonly): Created at (readonly)
|
||||
Definition List: Definition List
|
||||
delete column: delete column
|
||||
delete content-block: delete content-block
|
||||
delete row: delete row
|
||||
description: description
|
||||
drag a picture or click to select: upload an image
|
||||
Head: Head
|
||||
Headline: Headline
|
||||
Horizontal Line: Horizontal Line
|
||||
If not filled, the description is extracted from content.: If not filled, the description is extracted from content.
|
||||
Image: Image
|
||||
Last modified live (readonly): Last modified live (readonly)
|
||||
Left: Left
|
||||
Link: Link
|
||||
Link to video: Link to video
|
||||
Manual date: Manual date
|
||||
Meta description: Meta description
|
||||
meta: meta
|
||||
Meta title: Meta title
|
||||
Numbered List: Numbered List
|
||||
Paragraph: Paragraph
|
||||
Please correct the errors above: Please correct the errors above
|
||||
Quote: Quote
|
||||
Right: Right
|
||||
Saved successfully: Saved successfully
|
||||
save: save
|
||||
save: save
|
||||
table of contents: Table of Contents
|
||||
Table: Table
|
||||
Taken from your user account if set.: Taken from your user account if set.
|
||||
term: term
|
||||
Title: Title
|
||||
Used as fallback when no manual date is set.: Used as fallback when no manual date is set.
|
||||
Video: Video
|
@@ -1,53 +0,0 @@
|
||||
# Italiano
|
||||
it:
|
||||
add content-block: aggiungi blocco contenuto
|
||||
add definition: aggiungi definizione
|
||||
add left column: aggiungi colonna a sinistra
|
||||
add right column: aggiungi colonna a destra
|
||||
add row above: aggiungi la riga sopra
|
||||
add row below: aggiungi la riga sotto
|
||||
Alt-Text: Testo alternativo
|
||||
author: autore
|
||||
Bullet List: Elenco puntato
|
||||
cancel: Annulla
|
||||
Caption: Didascalia
|
||||
cell: cella
|
||||
Center: Centro
|
||||
Class: Classe
|
||||
Code: Codice
|
||||
Content: Contenuto
|
||||
Created at (readonly): Creato il (sola lettura)
|
||||
Definition List: Elenco delle definizioni
|
||||
delete column: elimina colonna
|
||||
delete content-block: elimina blocco contenuto
|
||||
delete row: elimina riga
|
||||
description: descrizione
|
||||
drag a picture or click to select: trascina un'immagine o fai clic per selezionare
|
||||
Head: Intestazione
|
||||
Headline: Titolo
|
||||
Horizontal Line: Linea orizzontale
|
||||
If not filled, the description is extracted from content.: Se non compilato, la descrizione viene estratta dal contenuto.
|
||||
Image: Immagine
|
||||
Last modified live (readonly): Ultima modifica (sola lettura)
|
||||
Left: Sinistra
|
||||
Link: Collegamento
|
||||
Link to video: Collega al video
|
||||
Manual date: Data manuale
|
||||
Meta description: Descrizione
|
||||
meta: Metadati
|
||||
Meta title: Titolo
|
||||
Numbered List: Elenco numerato
|
||||
Paragraph: Paragrafo
|
||||
Please correct the errors above: Si prega di correggere gli errori sopra
|
||||
Quote: Citazione
|
||||
Right: Destra
|
||||
Saved successfully: Salvato con successo
|
||||
save: salva
|
||||
save: Salva
|
||||
table of contents: Sommario
|
||||
Table: Tabella
|
||||
Taken from your user account if set.: Tratto dalla tua utenza, se impostata.
|
||||
term: termine
|
||||
Title: Titolo
|
||||
Used as fallback when no manual date is set.: Utilizzato come ripiego quando non è impostata alcuna data manuale.
|
||||
Video: Video
|
@@ -1,52 +0,0 @@
|
||||
# Dutch
|
||||
nl:
|
||||
add content-block: inhoudblok toevoegen
|
||||
add definition: definitie toevoegen
|
||||
add left column: linkerkolom toevoegen
|
||||
add right column: rechter kolom toevoegen
|
||||
add row above: rij boven toevoegen
|
||||
add row below: rij hieronder toevoegen
|
||||
Alt-Text: Alt-tekst
|
||||
author: auteur
|
||||
Bullet List: Lijst met opsommingstekens
|
||||
cancel: annuleren
|
||||
Caption: Bijschrift
|
||||
cell: cel
|
||||
Center: Midden
|
||||
Class: Class
|
||||
Code: Code
|
||||
Content: inhoud
|
||||
Created at (readonly): Gemaakt om (alleen lezen)
|
||||
Definition List: Definitielijst
|
||||
delete column: kolom verwijderen
|
||||
delete content-block: content-block verwijderen
|
||||
delete row: rij verwijderen
|
||||
description: omschrijving
|
||||
drag a picture or click to select: sleep een foto of klik om te selecteren
|
||||
Head: Kop
|
||||
Headline: Kop
|
||||
Horizontal Line: Horizontale lijn
|
||||
If not filled, the description is extracted from content.: Indien niet ingevuld, wordt de beschrijving uit de inhoud gehaald.
|
||||
Image: Afbeelding
|
||||
Last modified live (readonly): Laatst gewijzigd live (alleen-lezen)
|
||||
Left: Links
|
||||
Link: Link
|
||||
Link to video: Link naar video
|
||||
Manual date: Handmatige datum
|
||||
Meta description: Metabeschrijving
|
||||
meta: meta
|
||||
Meta title: Metatitel
|
||||
Numbered List: Genummerde lijst
|
||||
Paragraph: Paragraaf
|
||||
Please correct the errors above: Corrigeer bovenstaande fouten
|
||||
Quote: Citeren
|
||||
Right: Rechts
|
||||
Saved successfully: succesvol opgeslagen
|
||||
save: opslaan
|
||||
table of contents: inhoudsopgave
|
||||
Table: Tabel
|
||||
Taken from your user account if set.: Genomen uit uw gebruikersaccount indien ingesteld.
|
||||
term: term
|
||||
Title: Titel
|
||||
Used as fallback when no manual date is set.: Gebruikt als fallback als er geen handmatige datum is ingesteld.
|
||||
Video: video
|
@@ -42,7 +42,6 @@ class Settings
|
||||
# load the strings of the set language
|
||||
$language = $settings['language'];
|
||||
$settings['labels'] = self::getLanguageLabels($language);
|
||||
$settings['vuejsLabels'] = self::getVuejsLabels($language);
|
||||
|
||||
# We know the used theme now so create the theme path
|
||||
$settings['themePath'] = $settings['rootPath'] . $settings['themeFolder'] . DIRECTORY_SEPARATOR . $settings['theme'];
|
||||
@@ -81,7 +80,7 @@ class Settings
|
||||
'contentFolder' => 'content',
|
||||
'cache' => true,
|
||||
'cachePath' => $rootPath . 'cache',
|
||||
'version' => '1.3.4',
|
||||
'version' => '1.3.5',
|
||||
'setup' => true,
|
||||
'welcome' => true,
|
||||
'images' => ['live' => ['width' => 820], 'thumbs' => ['width' => 250, 'height' => 150]],
|
||||
|
@@ -12,7 +12,7 @@
|
||||
v-bind:key="tab"
|
||||
v-bind:class="['tab-button', { active: currentTab === tab }]"
|
||||
v-on:click="currentTab = tab"
|
||||
>${ tab|translate }</button>
|
||||
>${ tab|translate }</button>
|
||||
|
||||
<component
|
||||
class="tab"
|
||||
|
@@ -6,8 +6,8 @@ const contentComponent = Vue.component('content-block', {
|
||||
'<div v-if="newblock" class="newblock-info">Choose a content-type <button class="newblock-close" @click.prevent="closeNewBlock($event)">close</button></div>' +
|
||||
'<div class="blox-wrapper" :class="{ editactive: edit }">' +
|
||||
'<div class="sideaction" slot="header" v-if="body">' +
|
||||
'<button class="add" :disabled="disabled" :title="$t(\'add content-block\')" @mousedown.prevent="disableSort()" @click.prevent="addNewBlock($event)"><svg class="icon icon-plus"><use xlink:href="#icon-plus"></use></svg></button>' +
|
||||
'<button class="delete" :disabled="disabled" :title="$t(\'delete content-block\')" @mousedown.prevent="disableSort()" @click.prevent="deleteBlock($event)"><svg class="icon icon-close"><use xlink:href="#icon-close"></use></svg></button>' +
|
||||
'<button class="add" :disabled="disabled" :title="\'add content-block\'|translate" @mousedown.prevent="disableSort()" @click.prevent="addNewBlock($event)"><svg class="icon icon-plus"><use xlink:href="#icon-plus"></use></svg></button>' +
|
||||
'<button class="delete" :disabled="disabled" :title="\'delete content-block\'|translate" @mousedown.prevent="disableSort()" @click.prevent="deleteBlock($event)"><svg class="icon icon-close"><use xlink:href="#icon-close"></use></svg></button>' +
|
||||
'</div>' +
|
||||
'<div class="background-helper" @keyup.enter="submitBlock" @click="getData">' +
|
||||
'<div class="component" ref="component">' +
|
||||
@@ -15,8 +15,8 @@ const contentComponent = Vue.component('content-block', {
|
||||
'<component :disabled="disabled" :compmarkdown="compmarkdown" @updatedMarkdown="updateMarkdown" :is="componentType"></component>' +
|
||||
'</transition>' +
|
||||
'<div class="blox-buttons" v-if="edit">' +
|
||||
'<button class="edit" :disabled="disabled" @click.prevent="saveBlock">{{ $t(\'save\') }}</button>' +
|
||||
'<button class="cancel" :disabled="disabled" @click.prevent="switchToPreviewMode">{{ $t(\'cancel\') }}</button>' +
|
||||
'<button class="edit" :disabled="disabled" @click.prevent="saveBlock">{{ \'save\'|translate }}</button>' +
|
||||
'<button class="cancel" :disabled="disabled" @click.prevent="switchToPreviewMode">{{ \'cancel\'|translate }}</button>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div :class="preview" ref="preview"><slot><format-component></format-component></slot></div>' +
|
||||
@@ -938,25 +938,25 @@ const tableComponent = Vue.component('table-component', {
|
||||
'<tr v-for="(row, rowindex) in table">' +
|
||||
'<td v-if="rowindex === 0" v-for="(value,colindex) in row" contenteditable="false" class="noteditable" @click="switchcolumnbar(value)">{{value}} ' +
|
||||
'<div v-if="columnbar === value" class="columnaction">' +
|
||||
'<div class="actionline" @click="addrightcolumn(value)">{{ $t(\'add right column\') }}</div>' +
|
||||
'<div class="actionline" @click="addleftcolumn(value)">{{ $t(\'add left column\') }}</div>' +
|
||||
'<div class="actionline" @click="deletecolumn(value)">{{ $t(\'delete column\') }}</div>' +
|
||||
'<div class="actionline" @click="addrightcolumn(value)">{{ \'add right column\'|translate }}</div>' +
|
||||
'<div class="actionline" @click="addleftcolumn(value)">{{ \'add left column\'|translate }}</div>' +
|
||||
'<div class="actionline" @click="deletecolumn(value)">{{ \'delete column\'|translate }}</div>' +
|
||||
'</div>' +
|
||||
'</td>' +
|
||||
'<th v-if="rowindex === 1" v-for="(value,colindex) in row" :contenteditable="colindex !== 0 ? true : false" @click="switchrowbar(value)" @blur="updatedata($event,colindex,rowindex)" :class="colindex !== 0 ? editable : noteditable">' +
|
||||
'<div v-if="colindex === 0 && rowbar === value" class="rowaction">' +
|
||||
'<div class="actionline" @click="addaboverow(value)">{{ $t(\'add row above\') }}</div>' +
|
||||
'<div class="actionline" @click="addbelowrow(value)">{{ $t(\'add row below\') }}</div>' +
|
||||
'<div class="actionline" @click="deleterow(value)">{{ $t(\'delete row\') }}</div>' +
|
||||
'<div class="actionline" @click="addaboverow(value)">{{ \'add row above\'|translate }}</div>' +
|
||||
'<div class="actionline" @click="addbelowrow(value)">{{ \'add row below\'|translate }}</div>' +
|
||||
'<div class="actionline" @click="deleterow(value)">{{ \'delete row\'|translate }}</div>' +
|
||||
'</div>' +
|
||||
'{{ $t(value) }}</th>' +
|
||||
'{{ value|translate }}</th>' +
|
||||
'<td v-if="rowindex > 1" v-for="(value,colindex) in row" :contenteditable="colindex !== 0 ? true : false" @click="switchrowbar(value)" @blur="updatedata($event,colindex,rowindex)" :class="colindex !== 0 ? editable : noteditable">' +
|
||||
'<div v-if="colindex === 0 && rowbar === value" class="rowaction">' +
|
||||
'<div class="actionline" @click="addaboverow(value)">{{ $t(\'add row above\') }}</div>' +
|
||||
'<div class="actionline" @click="addbelowrow(value)">{{ $t(\'add row below\') }}</div>' +
|
||||
'<div class="actionline" @click="deleterow(value)">{{ $t(\'delete row\') }}</div>' +
|
||||
'<div class="actionline" @click="addaboverow(value)">{{ \'add row above\'|translate }}</div>' +
|
||||
'<div class="actionline" @click="addbelowrow(value)">{{ \'add row below\'|translate }}</div>' +
|
||||
'<div class="actionline" @click="deleterow(value)">{{ \'delete row\'|translate }}</div>' +
|
||||
'</div>' +
|
||||
'{{ $t(value) }}</td>' +
|
||||
'{{ value|translate }}</td>' +
|
||||
'</tr>' +
|
||||
'</tbody>' +
|
||||
'</table>' +
|
||||
@@ -1135,13 +1135,13 @@ const definitionComponent = Vue.component('definition-component', {
|
||||
'<draggable v-model="definitionList" :animation="150" @end="moveDefinition">' +
|
||||
'<div class="definitionRow" v-for="(definition, dindex) in definitionList" :key="definition.id">' +
|
||||
'<svg class="icon icon-arrows-v"><use xlink:href="#icon-arrows-v"></use></svg>' +
|
||||
'<input type="text" class="definitionTerm" v-bind:placeholder="$t(\'term\')" :value="definition.term" :disabled="disabled" @input="updateterm($event,dindex)" @blur="updateMarkdown">' +
|
||||
'<input type="text" class="definitionTerm" v-bind:placeholder="\'term\'|translate" :value="definition.term" :disabled="disabled" @input="updateterm($event,dindex)" @blur="updateMarkdown">' +
|
||||
'<svg class="icon icon-dots-two-vertical"><use xlink:href="#icon-dots-two-vertical"></use></svg>' +
|
||||
'<textarea class="definitionDescription" v-bind:placeholder="$t(\'description\')" v-html="definition.description" :disabled="disabled" @input="updatedescription($event, dindex)" @blur="updateMarkdown"></textarea>' +
|
||||
'<textarea class="definitionDescription" v-bind:placeholder="\'description\'|translate" v-html="definition.description" :disabled="disabled" @input="updatedescription($event, dindex)" @blur="updateMarkdown"></textarea>' +
|
||||
'<button class="delDL" @click.prevent="deleteDefinition(dindex)"><svg class="icon icon-minus"><use xlink:href="#icon-minus"></use></svg></button>' +
|
||||
'</div>' +
|
||||
'</draggable>' +
|
||||
'<button class="addDL" @click.prevent="addDefinition()"><svg class="icon icon-plus"><use xlink:href="#icon-plus"></use></svg> {{ $t(\'add definition\') }}</button>' +
|
||||
'<button class="addDL" @click.prevent="addDefinition()"><svg class="icon icon-plus"><use xlink:href="#icon-plus"></use></svg> {{ \'add definition\'|translate }}</button>' +
|
||||
'<div v-if="load" class="loadwrapper"><span class="load"></span></div>' +
|
||||
'</div>',
|
||||
mounted: function(){
|
||||
@@ -1211,8 +1211,8 @@ const videoComponent = Vue.component('video-component', {
|
||||
props: ['compmarkdown', 'disabled', 'load'],
|
||||
template: '<div class="video dropbox">' +
|
||||
'<div class="contenttype"><svg class="icon icon-play"><use xlink:href="#icon-play"></use></svg></div>' +
|
||||
'<label for="video">{{ $t(\'Link to video\') }}: </label><input type="url" ref="markdown" placeholder="https://www.youtube.com/watch?v=" :value="compmarkdown" :disabled="disabled" @input="updatemarkdown">' +
|
||||
'<div v-if="load" class="loadwrapper"><span class="load"></span></div>' +
|
||||
'<label for="video">{{ \'Link to video\'|translate }}: </label><input type="url" ref="markdown" placeholder="https://www.youtube.com/watch?v=" :value="compmarkdown" :disabled="disabled" @input="updatemarkdown">' +
|
||||
'<div v-if="load" class="loadwrapper"><span class="load"></span></div>' +
|
||||
'</div>',
|
||||
mounted: function(){
|
||||
|
||||
@@ -1242,7 +1242,7 @@ const imageComponent = Vue.component('image-component', {
|
||||
'<input type="hidden" ref="markdown" :value="compmarkdown" :disabled="disabled" @input="updatemarkdown" />' +
|
||||
'<div class="imageupload">' +
|
||||
'<input type="file" name="image" accept="image/*" class="input-file" @change="onFileChange( $event )" /> ' +
|
||||
'<p><svg class="icon icon-upload baseline"><use xlink:href="#icon-upload"></use></svg> {{ $t(\'drag a picture or click to select\') }}</p>' +
|
||||
'<p><svg class="icon icon-upload baseline"><use xlink:href="#icon-upload"></use></svg> {{ \'drag a picture or click to select\'|translate }}</p>' +
|
||||
'</div>' +
|
||||
'<button class="imageselect" @click.prevent="openmedialib()"><svg class="icon icon-image baseline"><use xlink:href="#icon-image"></use></svg> select from medialib</button>' +
|
||||
'<transition name="fade-editor">' +
|
||||
@@ -1254,12 +1254,12 @@ const imageComponent = Vue.component('image-component', {
|
||||
'<img class="uploadPreview" :src="imgpreview" />' +
|
||||
'<div v-if="load" class="loadwrapper"><span class="load"></span></div>' +
|
||||
'<div class="imgmeta" v-if="imgmeta">' +
|
||||
'<label for="imgalt">{{ $t(\'Alt-Text\') }}: </label><input name="imgalt" type="text" placeholder="alt" @input="createmarkdown" v-model="imgalt" max="100" />' +
|
||||
'<label for="imgtitle">{{ $t(\'Title\') }}: </label><input name="imgtitle" type="text" placeholder="title" v-model="imgtitle" @input="createmarkdown" max="64" />' +
|
||||
'<label for="imgcaption">{{ $t(\'Caption\') }}: </label><input title="imgcaption" type="text" placeholder="caption" v-model="imgcaption" @input="createmarkdown" max="140" />' +
|
||||
'<label for="imgurl">{{ $t(\'Link\') }}: </label><input title="imgurl" type="url" placeholder="url" v-model="imglink" @input="createmarkdown" />' +
|
||||
'<label for="imgclass">{{ $t(\'Class\') }}: </label><select title="imgclass" v-model="imgclass" @change="createmarkdown"><option value="center">{{ $t(\'Center\') }}</option><option value="left">{{ $t(\'Left\') }}</option><option value="right">{{ $t(\'Right\') }}</option></select>' +
|
||||
'<input title="imgid" type="hidden" placeholder="id" v-model="imgid" @input="createmarkdown" max="140" />' +
|
||||
'<label for="imgalt">{{ \'Alt-Text\'|translate }}: </label><input name="imgalt" type="text" placeholder="alt" @input="createmarkdown" v-model="imgalt" max="100" />' +
|
||||
'<label for="imgtitle">{{ \'Title\'|translate }}: </label><input name="imgtitle" type="text" placeholder="title" v-model="imgtitle" @input="createmarkdown" max="64" />' +
|
||||
'<label for="imgcaption">{{ \'Caption\'|translate }}: </label><input title="imgcaption" type="text" placeholder="caption" v-model="imgcaption" @input="createmarkdown" max="140" />' +
|
||||
'<label for="imgurl">{{ \'Link\'|translate }}: </label><input title="imgurl" type="url" placeholder="url" v-model="imglink" @input="createmarkdown" />' +
|
||||
'<label for="imgclass">{{ \'Class\'|translate }}: </label><select title="imgclass" v-model="imgclass" @change="createmarkdown"><option value="center">{{ \'Center\'|translate }}</option><option value="left">{{ \'Left\'|translate }}</option><option value="right">{{ \'Right\'|translate }}</option></select>' +
|
||||
'<input title="imgid" type="hidden" placeholder="id" v-model="imgid" @input="createmarkdown" max="140" />' +
|
||||
'</div></div>',
|
||||
data: function(){
|
||||
return {
|
||||
@@ -1534,7 +1534,7 @@ const fileComponent = Vue.component('file-component', {
|
||||
'<input type="hidden" ref="markdown" :value="compmarkdown" :disabled="disabled" @input="updatemarkdown" />' +
|
||||
'<div class="imageupload">' +
|
||||
'<input type="file" accept="*" name="file" class="input-file" @change="onFileChange( $event )" /> ' +
|
||||
'<p><svg class="icon icon-upload baseline"><use xlink:href="#icon-upload"></use></svg> {{ $t(\'upload file\') }}</p>' +
|
||||
'<p><svg class="icon icon-upload baseline"><use xlink:href="#icon-upload"></use></svg> {{ \'upload file\'|translate }}</p>' +
|
||||
'</div>' +
|
||||
'<button class="imageselect" @click.prevent="openmedialib()"><svg class="icon icon-paperclip baseline"><use xlink:href="#icon-paperclip"></use></svg> select from medialib</button>' +
|
||||
'<transition name="fade-editor">' +
|
||||
@@ -1545,7 +1545,7 @@ const fileComponent = Vue.component('file-component', {
|
||||
'<div class="contenttype"><svg class="icon icon-paperclip"><use xlink:href="#icon-paperclip"></use></svg></div>' +
|
||||
'<div v-if="load" class="loadwrapper"><span class="load"></span></div>' +
|
||||
'<div class="imgmeta relative" v-if="filemeta">' +
|
||||
'<label for="filetitle">{{ $t(\'Title\') }}: </label>' +
|
||||
'<label for="filetitle">{{ \'Title\'|translate }}: </label>' +
|
||||
'<input name="filetitle" type="text" placeholder="Add a title for the download-link" v-model="filetitle" @input="createmarkdown" max="64" />' +
|
||||
'<input title="fileid" type="hidden" placeholder="id" v-model="fileid" @input="createmarkdown" max="140" />' +
|
||||
'</div></div>',
|
||||
@@ -1725,7 +1725,7 @@ const medialib = Vue.component('medialib', {
|
||||
template: '<div class="medialib">' +
|
||||
'<div class="mt3">' +
|
||||
'<div class="w-30 dib v-top ph4 pv3">' +
|
||||
'<button class="f6 link br0 ba ph3 pv2 mb2 w-100 dim white bn bg-tm-red" @click.prevent="closemedialib()">{{ $t(\'close library\') }}</button>' +
|
||||
'<button class="f6 link br0 ba ph3 pv2 mb2 w-100 dim white bn bg-tm-red" @click.prevent="closemedialib()">{{ \'close library\'|translate }}</button>' +
|
||||
'<div class="w-100 relative">' +
|
||||
'<div><input v-model="search" class="w-100 border-box pa2 mb3 br0 ba b--light-silver"><svg class="icon icon-search absolute top-1 right-1 pa1 gray"><use xlink:href="#icon-search"></use></svg></div>' +
|
||||
'</div>' +
|
||||
@@ -1895,13 +1895,16 @@ const medialib = Vue.component('medialib', {
|
||||
var searchimages = this.search;
|
||||
var filteredImages = {};
|
||||
var images = this.imagedata;
|
||||
Object.keys(images).forEach(function(key) {
|
||||
var searchindex = key + ' ' + images[key].name;
|
||||
if(searchindex.toLowerCase().indexOf(searchimages.toLowerCase()) !== -1)
|
||||
{
|
||||
filteredImages[key] = images[key];
|
||||
}
|
||||
});
|
||||
if(images)
|
||||
{
|
||||
Object.keys(images).forEach(function(key) {
|
||||
var searchindex = key + ' ' + images[key].name;
|
||||
if(searchindex.toLowerCase().indexOf(searchimages.toLowerCase()) !== -1)
|
||||
{
|
||||
filteredImages[key] = images[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
return filteredImages;
|
||||
},
|
||||
filteredFiles() {
|
||||
@@ -1909,13 +1912,16 @@ const medialib = Vue.component('medialib', {
|
||||
var searchfiles = this.search;
|
||||
var filteredFiles = {};
|
||||
var files = this.filedata;
|
||||
Object.keys(files).forEach(function(key) {
|
||||
var searchindex = key + ' ' + files[key].name;
|
||||
if(searchindex.toLowerCase().indexOf(searchfiles.toLowerCase()) !== -1)
|
||||
{
|
||||
filteredFiles[key] = files[key];
|
||||
}
|
||||
});
|
||||
if(files)
|
||||
{
|
||||
Object.keys(files).forEach(function(key) {
|
||||
var searchindex = key + ' ' + files[key].name;
|
||||
if(searchindex.toLowerCase().indexOf(searchfiles.toLowerCase()) !== -1)
|
||||
{
|
||||
filteredFiles[key] = files[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
return filteredFiles;
|
||||
}
|
||||
},
|
||||
@@ -2217,12 +2223,7 @@ for(var i = 0; i < formatConfig.length; i++)
|
||||
}
|
||||
}
|
||||
|
||||
let editor = new Vue({
|
||||
i18n: new VueI18n({
|
||||
locale: language,
|
||||
messages: vuejsLabels
|
||||
}),
|
||||
|
||||
let editor = new Vue({
|
||||
delimiters: ['${', '}'],
|
||||
el: '#blox',
|
||||
/* components: componentList, */
|
||||
|
6
system/author/js/vue-i18n.min.js
vendored
6
system/author/js/vue-i18n.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -17,8 +17,8 @@
|
||||
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ base_url }}/system/author/img/apple-touch-icon-152x152.png" />
|
||||
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/tachyons.min.css?20200405" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/tachyons.min.css?20200420" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200420" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" />
|
||||
</head>
|
||||
<body>
|
||||
@@ -56,7 +56,7 @@
|
||||
</article>
|
||||
<footer></footer>
|
||||
</div>
|
||||
<script src="{{ base_url }}/system/author/js/color-picker.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/color-picker.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20200420"></script>
|
||||
</body>
|
||||
</html>
|
@@ -18,7 +18,7 @@
|
||||
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ base_url }}/system/author/img/apple-touch-icon-152x152.png" />
|
||||
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200420" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" />
|
||||
</head>
|
||||
<body>
|
||||
@@ -54,6 +54,6 @@
|
||||
{% block content %}{% endblock %}
|
||||
|
||||
</div>
|
||||
<script src="{{ base_url }}/system/author/js/auth.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/auth.js?20200420"></script>
|
||||
</body>
|
||||
</html>
|
@@ -17,7 +17,7 @@
|
||||
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="{{ base_url }}/system/author/img/apple-touch-icon-152x152.png" />
|
||||
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200420" />
|
||||
</head>
|
||||
<body>
|
||||
<svg style="position: absolute; width: 0; height: 0; overflow: hidden" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/tachyons.min.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200420" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" />
|
||||
|
||||
{{ assets.renderCSS() }}
|
||||
@@ -196,28 +196,27 @@
|
||||
const myaxios = axios.create();
|
||||
myaxios.defaults.baseURL = "{{ base_url }}";
|
||||
</script>
|
||||
<script src="{{ base_url }}/system/author/js/typemillutils.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-i18n.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-blox-config.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/typemillutils.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-blox-config.js?20200420"></script>
|
||||
<script>
|
||||
let formatConfig = {{ settings.formats|json_encode() }};
|
||||
let language = {{ settings.language|json_encode() }};
|
||||
let vuejsLabels = {{ settings.vuejsLabels|json_encode() }};
|
||||
let labels = {{ settings.labels|json_encode() }};
|
||||
let navigation = {{ navigation|json_encode() }};
|
||||
</script>
|
||||
|
||||
{{ assets.renderEditorJS() }}
|
||||
|
||||
<script src="{{ base_url }}/system/author/js/vue-blox.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-posts.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-meta.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-blox.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-posts.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-meta.js?20200420"></script>
|
||||
|
||||
{{ assets.renderJS() }}
|
||||
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/normalize.css" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200405" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/style.css?20200420" />
|
||||
<link rel="stylesheet" href="{{ base_url }}/system/author/css/color-picker.min.css" />
|
||||
|
||||
{{ assets.renderCSS() }}
|
||||
@@ -83,29 +83,29 @@
|
||||
</article>
|
||||
<footer></footer>
|
||||
</div>
|
||||
<script src="{{ base_url }}/system/author/js/axios.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/axios.min.js?20200420"></script>
|
||||
<script>
|
||||
const myaxios = axios.create();
|
||||
myaxios.defaults.baseURL = "{{ base_url }}";
|
||||
</script>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/autosize.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/sortable.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vuedraggable.umd.min.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/author.js?20200420"></script>
|
||||
|
||||
<script>
|
||||
let language = {{ settings.language|json_encode() }};
|
||||
let labels = {{ settings.labels|json_encode() }};
|
||||
let labels = {{ settings.labels|json_encode() }};
|
||||
let navigation = {{ navigation|json_encode() }};
|
||||
</script>
|
||||
|
||||
{{ assets.renderEditorJS() }}
|
||||
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-editor.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-meta.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20200405"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-publishcontroller.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-editor.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-meta.js?20200420"></script>
|
||||
<script src="{{ base_url }}/system/author/js/vue-navi.js?20200420"></script>
|
||||
|
||||
{{ assets.renderJS() }}
|
||||
|
||||
|
@@ -62,7 +62,7 @@
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if field.description %}<div class="description">{{field.description}}</div>{% endif %}
|
||||
{% if field.description %}<div class="description">{{ __(field.description) }}</div>{% endif %}
|
||||
|
||||
{% if errors[itemName][field.name] %}
|
||||
<span class="error">{{ errors[itemName][field.name] | first }}</span>
|
||||
|
Reference in New Issue
Block a user