feat: editor-code component

This commit is contained in:
NGPixel
2018-02-11 00:20:17 -05:00
parent 3471a7a6f9
commit 1a051f5569
40 changed files with 321 additions and 4501 deletions

View File

@@ -1,6 +1,13 @@
const express = require('express')
const router = express.Router()
/**
* Create/Edit document
*/
router.get('/e/*', (req, res, next) => {
res.render('main/editor')
})
/**
* View document
*/

View File

@@ -1,24 +0,0 @@
extends ../layout.pug
block content
.container.is-fluid.has-collapsable-nav
.sidebar.is-collapsed
aside
.sidebar-label
span= t('sidebar.nav')
ul.sidebar-menu
li
a(href='/')
i.nc-icon-outline.ui-1_home-minimal
span= t('nav.root')
if !isGuest
li
a(href='/admin')
i.nc-icon-outline.ui-1_settings-gear-63
span= t('nav.account')
else
li
a(href='/login')
i.nc-icon-outline.arrows-1_log-in
span= t('nav.login')
tree

View File

@@ -1,25 +0,0 @@
extends ../layout.pug
block rootNavCenter
h2.nav-item= t('header.createdoc')
block rootNavRight
loading-spinner
span.nav-item
a.button.is-outlined(v-on:click='$store.dispatch("modalDiscardPage/open")')
i.nc-icon-outline.ui-1_simple-remove
span= t('nav.discard')
a.button(v-on:click='$root.$emit("editor/save")')
i.nc-icon-outline.ui-1_check
span= t('nav.savedocument')
block content
editor(inline-template, current-path=pageData.meta.path, v-cloak)
.editor-area
textarea(ref='editorTextArea', v-pre)= pageData.markdown
editor-file
editor-video
editor-codeblock
modal-discard-page(mode='create', current-path=pageData.meta.path)
page-loader(text=t('loading.editor'))

View File

@@ -1,29 +0,0 @@
extends ../layout.pug
block rootNavCenter
h2.nav-item= pageData.meta.title
block rootNavRight
loading-spinner
span.nav-item
a.button.is-outlined(v-on:click='$store.dispatch("modalDiscardPage/open")')
i.nc-icon-outline.ui-1_simple-remove
span= t('nav.discard')
a.button(v-on:click='$root.$emit("editor/save")')
i.nc-icon-outline.ui-1_check
span= t('nav.savechanges')
block content
editor(inline-template, current-path=pageData.meta.path, v-cloak)
.columns.is-gapless
.column.editor-area
textarea(ref='editorTextArea', v-pre)= pageData.markdown
//- .column.editor-sd
.editor-sd-item Images
.editor-sd-item Files
editor-file
editor-video
editor-codeblock
modal-discard-page(mode='edit', current-path=pageData.meta.path)
page-loader(text=t('loading.editor'))

View File

@@ -0,0 +1,6 @@
extends ../master.pug
block body
body
#app
editor

View File

@@ -1,11 +0,0 @@
extends ../layout.pug
block rootNavRight
i.nav-item#notifload
.nav-item
a.button(href='/' + pageData.meta._id)
i.nc-icon-outline.ui-3_select
span= t('nav.viewlatest')
block content
history(current-path=pageData.meta._id, history-data=JSON.stringify(pageData.history))

View File

@@ -1,5 +0,0 @@
extends ../master.pug
block body
body
#app.setup: setup(telemetry-id=telemetryClientID, wiki-version=packageObj.version, :langs!=JSON.stringify(data.langs).replace(/"/g, "'"))

View File

@@ -1,32 +0,0 @@
extends ../layout.pug
block rootNavCenter
h2.nav-item= pageData.meta.title
block rootNavRight
loading-spinner
span.nav-item
if rights.write && pageData.meta.path !== 'home'
a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")')
i.nc-icon-outline.arrows-1_shuffle-98
span= t('nav.move')
a.button.is-outlined(href='/' + pageData.meta.path)
i.nc-icon-outline.ui-2_book
span= t('nav.normalview')
if rights.write
a.button.is-orange(href='/edit/' + pageData.meta.path)
i.nc-icon-outline.ui-1_edit-76
span= t('nav.edit')
a.button(v-on:click='$store.dispatch("modalCreatePage/open")')
i.nc-icon-outline.ui-1_simple-add
span= t('nav.create')
block content
source-view(inline-template, entrypath=pageData.meta.path, v-cloak)
.ace-container
#source-display(v-pre)= pageData.markdown
modal-create-page(basepath=pageData.meta.path)
modal-move-page(current-path=pageData.meta.path)
page-loader(text=t('loading.source'))

View File

@@ -1,89 +0,0 @@
extends ../layout.pug
mixin tocMenu(ti)
each node in ti
li
a(href='#' + node.anchor, title=node.content)= node.content
if node.nodes.length > 0
ul
+tocMenu(node.nodes)
block rootNavRight
loading-spinner
.nav-item
if rights.write && pageData.meta.path !== 'home'
a.button.is-outlined.is-icon-only(@click='$store.dispatch("modalDeletePage/open")')
i.nc-icon-outline.ui-1_trash
a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")')
i.nc-icon-outline.arrows-1_shuffle-98
span= t('nav.move')
if appconfig.theme.viewSource === 'all' || (rights.write && appconfig.theme.viewSource === 'write')
a.button.is-outlined(href='/source/' + pageData.meta.path)
i.nc-icon-outline.education_paper
span= t('nav.source')
//-a.button.is-outlined(href='/hist/' + pageData.meta.path)
i.nc-icon-outline.ui-2_time
span= t('nav.history')
if rights.write
a.button(href='/edit/' + pageData.meta.path)
i.nc-icon-outline.ui-1_edit-76
span= t('nav.edit')
a.button(v-on:click='$store.dispatch("modalCreatePage/open")')
i.nc-icon-outline.ui-1_simple-add
span= t('nav.create')
block content
content-view(inline-template)
.container.is-fluid.has-mkcontent
.columns.is-gapless
.column.is-narrow.is-hidden-touch.sidebar
aside
.sidebar-label
span= t('sidebar.navigation')
ul.sidebar-menu
li
a(href='/')
i.nc-icon-outline.ui-1_home-minimal
span= t('nav.root')
li
a(href='/all')
i.nc-icon-outline.business_hierarchy-55
span= t('nav.allpages')
if pageData.parent
li
a(href='/' + pageData.parent.path)
i.icon-reply
span= pageData.parent.title
if !isGuest
li
a(href='/admin')
i.nc-icon-outline.ui-1_settings-gear-63
span= t('nav.settings')
else
li
a(href='/login')
i.nc-icon-outline.arrows-1_log-in
span= t('nav.login')
aside.sidebar-pagecontents
.sidebar-label
span= t('sidebar.pagecontents')
ul.sidebar-menu
li.is-hidden-until-scroll: a(href='#root', title='Top of Page')
i.icon-arrow-up2
+tocMenu(pageData.tree)
.column
.hero
h1.title#title= pageData.meta.title
if pageData.meta.subtitle
h2.subtitle= pageData.meta.subtitle
.content.mkcontent(v-pre, class=[appconfig.theme.code.dark ? 'is-code-dark' : 'is-code-light'])
!= pageData.html
modal-create-page(basepath=pageData.meta.path)
modal-move-page(current-path=pageData.meta.path)
modal-delete-page(current-path=pageData.meta.path)
anchor

View File

@@ -7,4 +7,4 @@ block body
img(src='/svg/logo-wikijs.svg', alt='Wiki.js')
h1= t('welcome.title')
h2= t('welcome.subtitle')
a.button.is-blue(href='/create/home')= t('welcome.createhome')
a.button.is-blue(href='/e/home')= t('welcome.createhome')