Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wiki-js
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
wiki-js
Commits
10e19700
Commit
10e19700
authored
Aug 25, 2019
by
Nick
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: UI improvements
parent
7f67c727
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
125 additions
and
158 deletions
+125
-158
.gitignore
.gitignore
+3
-3
admin-system.vue
client/components/admin/admin-system.vue
+1
-1
duration-picker.vue
client/components/common/duration-picker.vue
+9
-4
nav-header.vue
client/components/common/nav-header.vue
+44
-44
page-delete.vue
client/components/common/page-delete.vue
+1
-1
search-results.vue
client/components/common/search-results.vue
+3
-3
editor.vue
client/components/editor.vue
+1
-0
editor-markdown.vue
client/components/editor/editor-markdown.vue
+10
-10
editor-modal-media.vue
client/components/editor/editor-modal-media.vue
+14
-14
editor-modal-properties.vue
client/components/editor/editor-modal-properties.vue
+4
-4
history.vue
client/components/history.vue
+14
-16
page.vue
client/themes/default/components/page.vue
+11
-8
app.scss
client/themes/default/scss/app.scss
+4
-2
master.pug
server/views/legacy/master.pug
+2
-16
master.pug
server/views/master.pug
+2
-16
setup.pug
server/views/setup.pug
+2
-16
No files found.
.gitignore
View file @
10e19700
...
...
@@ -18,9 +18,9 @@ npm-debug.log*
# Generated assets
/assets
server/views/master.pug
server/views/legacy
.pug
server/views/setup.pug
/
server/views/master.pug
/server/views/legacy/master
.pug
/
server/views/setup.pug
# Webpack
.webpack-cache
...
...
client/components/admin/admin-system.vue
View file @
10e19700
...
...
@@ -28,7 +28,7 @@
v-list-item-action
v-list-item-action-text
{{
$t
(
'admin:system.published'
)
}}
{{
info
.
latestVersionReleaseDate
|
moment
(
'from'
)
}}
v-divider.mt-3
v-card.mt-4.animated.fadeInUp.wait-p2s
v-subheader
{{
$t
(
'admin:system.hostInfo'
)
}}
v-list(two-line, dense)
v-list-item
...
...
client/components/common/duration-picker.vue
View file @
10e19700
...
...
@@ -7,42 +7,47 @@
flat
reverse
v-model='minutes'
style='flex: 1 1 70px;'
)
.body-2.mx-3
{{
$t
(
'common:duration.minutes'
)
}}
v-divider.mr-3
()
v-divider.mr-3
v-text-field(
solo
hide-details
flat
reverse
v-model='hours'
style='flex: 1 1 70px;'
)
.body-2.mx-3
{{
$t
(
'common:duration.hours'
)
}}
v-divider.mr-3
()
v-divider.mr-3
v-text-field(
solo
hide-details
flat
reverse
v-model='days'
style='flex: 1 1 70px;'
)
.body-2.mx-3
{{
$t
(
'common:duration.days'
)
}}
v-divider.mr-3
()
v-divider.mr-3
v-text-field(
solo
hide-details
flat
reverse
v-model='months'
style='flex: 1 1 70px;'
)
.body-2.mx-3
{{
$t
(
'common:duration.months'
)
}}
v-divider.mr-3
()
v-divider.mr-3
v-text-field(
solo
hide-details
flat
reverse
v-model='years'
style='flex: 1 1 70px;'
)
.body-2.mx-3
{{
$t
(
'common:duration.years'
)
}}
</
template
>
...
...
client/components/common/nav-header.vue
View file @
10e19700
...
...
@@ -81,50 +81,50 @@
@keyup.down='searchMove(`down`)'
@keyup.up='searchMove(`up`)'
)
v-menu(
v-model='searchAdvMenuShown'
left
offset-y
min-width='450'
:close-on-content-click='false'
nudge-bottom='7'
nudge-right='5'
v-if='searchIsShown'
)
template(v-slot:activator='{ on }')
v-btn.nav-header-search-adv(icon, color='grey darken-2', v-on='on')
v-icon(color='white') mdi-chevron-down
v-card.radius-0(dark)
v-toolbar(flat, color='grey darken-4', dense)
v-icon.mr-2 mdi-feature-search-outline
v-subheader.pl-0 Advanced Search
v-spacer
v-chip(label, small, color='primary') Coming soon
v-card-text.pa-4
v-checkbox.mt-0(
label='Restrict to current language'
color='white'
v-model='searchRestrictLocale'
hide-details
)
v-checkbox(
label='Search below current path only'
color='white'
v-model='searchRestrictPath'
hide-details
)
v-divider
v-card-actions.grey.darken-3-d4
v-container.pa-0(grid-list-md)
v-layout(row)
v-flex(xs6)
v-btn(depressed, color='grey darken-3', block)
v-icon(left) mdi-chevron-right
span Save as defaults
v-flex(xs6)
v-btn(depressed, color='grey darken-3', block)
v-icon(left) mdi-cached
span Reset
//-
v-menu(
//-
v-model='searchAdvMenuShown'
//-
left
//-
offset-y
//-
min-width='450'
//-
:close-on-content-click='false'
//-
nudge-bottom='7'
//-
nudge-right='5'
//-
v-if='searchIsShown'
//-
)
//-
template(v-slot:activator='{ on }')
//-
v-btn.nav-header-search-adv(icon, color='grey darken-2', v-on='on')
//-
v-icon(color='white') mdi-chevron-down
//-
v-card.radius-0(dark)
//-
v-toolbar(flat, color='grey darken-4', dense)
//-
v-icon.mr-2 mdi-feature-search-outline
//-
v-subheader.pl-0 Advanced Search
//-
v-spacer
//-
v-chip(label, small, color='primary') Coming soon
//-
v-card-text.pa-4
//-
v-checkbox.mt-0(
//-
label='Restrict to current language'
//-
color='white'
//-
v-model='searchRestrictLocale'
//-
hide-details
//-
)
//-
v-checkbox(
//-
label='Search below current path only'
//-
color='white'
//-
v-model='searchRestrictPath'
//-
hide-details
//-
)
//-
v-divider
//-
v-card-actions.grey.darken-3-d4
//-
v-container.pa-0(grid-list-md)
//-
v-layout(row)
//-
v-flex(xs6)
//-
v-btn(depressed, color='grey darken-3', block)
//-
v-icon(left) mdi-chevron-right
//-
span Save as defaults
//-
v-flex(xs6)
//-
v-btn(depressed, color='grey darken-3', block)
//-
v-icon(left) mdi-cached
//-
span Reset
v-flex(xs6, md4)
v-toolbar.nav-header-inner.pr-4(color='black', dark, flat)
v-spacer
...
...
client/components/common/page-delete.vue
View file @
10e19700
<
template
lang=
'pug'
>
v-dialog(v-model='isShown', max-width='550', persistent)
v-card
.wiki-form
v-card
.dialog-header.is-short.is-red
v-icon.mr-2(color='white') mdi-file-document-box-remove-outline
span
{{
$t
(
'common:page.delete'
)
}}
...
...
client/components/common/search-results.vue
View file @
10e19700
...
...
@@ -45,9 +45,9 @@
v
-
list
-
item
-
title
(
v
-
html
=
'term'
)
v
-
divider
(
v
-
if
=
'idx < suggestions.length - 1'
)
.
text
-
xs
-
center
.
pt
-
5
(
v
-
if
=
'search.length > 1'
)
v
-
btn
.
mx
-
2
(
outlined
,
color
=
'orange'
,
@
click
=
'search = ``'
,
v
-
if
=
'results.length > 0'
)
v
-
icon
(
left
)
mdi
-
content
-
save
span
{{
$t
(
'common:header.searchCopyLink'
)
}}
//-
v-btn.mx-2(outlined, color='orange', @click='search = ``', v-if='results.length > 0')
//-
v-icon(left) mdi-content-save
//-
span
{{
$t
(
'common:header.searchCopyLink'
)
}}
v
-
btn
.
mx
-
2
(
outlined
,
color
=
'pink'
,
@
click
=
'search = ``'
)
v
-
icon
(
left
)
mdi
-
close
span
{{
$t
(
'common:header.searchClose'
)
}}
...
...
client/components/editor.vue
View file @
10e19700
...
...
@@ -214,6 +214,7 @@ export default {
})
this
.
$store
.
set
(
'editor/id'
,
_
.
get
(
resp
,
'page.id'
))
this
.
$store
.
set
(
'editor/mode'
,
'update'
)
this
.
exitConfirmed
=
true
window
.
location
.
assign
(
`/
${
this
.
$store
.
get
(
'page/locale'
)}
/
${
this
.
$store
.
get
(
'page/path'
)}
`
)
}
else
{
throw
new
Error
(
_
.
get
(
resp
,
'responseResult.message'
))
...
...
client/components/editor/editor-markdown.vue
View file @
10e19700
...
...
@@ -114,49 +114,49 @@
span
{{
$t
(
'editor:markup.insertLink'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p1s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleModal(`editorModalMedia`)'
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p1s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleModal(`editorModalMedia`)'
).
mx
-
0
v
-
icon
(:
color
=
'activeModal === `editorModalMedia` ? `teal` : ``'
)
mdi
-
folder
-
multiple
-
image
span
{{
$t
(
'editor:markup.insertAssets'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p2s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleModal(`editorModalBlocks`)'
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p2s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleModal(`editorModalBlocks`)'
,
disabled
).
mx
-
0
v
-
icon
(:
color
=
'activeModal === `editorModalBlocks` ? `teal` : ``'
)
mdi
-
view
-
dashboard
-
outline
span
{{
$t
(
'editor:markup.insertBlock'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p3s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p3s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
icon
mdi
-
code
-
braces
span
{{
$t
(
'editor:markup.insertCodeBlock'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p4s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p4s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
icon
mdi
-
library
-
video
span
{{
$t
(
'editor:markup.insertVideoAudio'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p5s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p5s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
icon
mdi
-
chart
-
multiline
span
{{
$t
(
'editor:markup.insertDiagram'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p6s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p6s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
icon
mdi
-
function
-
variant
span
{{
$t
(
'editor:markup.insertMathExpression'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p7s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p7s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
disabled
).
mx
-
0
v
-
icon
mdi
-
table
-
plus
span
{{
$t
(
'editor:markup.tableHelper'
)
}}
template
(
v
-
if
=
'$vuetify.breakpoint.mdAndUp'
)
v
-
spacer
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p8s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleFullscreen'
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p8s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleFullscreen'
).
mx
-
0
v
-
icon
mdi
-
arrow
-
expand
-
all
span
{{
$t
(
'editor:markup.distractionFreeMode'
)
}}
v
-
tooltip
(
right
,
color
=
'teal'
)
template
(
v
-
slot
:
activator
=
'{ on
}
'
)
v
-
btn
.
animated
.
fadeInLeft
.
wait
-
p9s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleHelp'
).
mx
-
0
v
-
btn
.
mt
-
3
.
animated
.
fadeInLeft
.
wait
-
p9s
(
icon
,
tile
,
v
-
on
=
'on'
,
dark
,
@
click
=
'toggleHelp'
).
mx
-
0
v
-
icon
(:
color
=
'helpShown ? `teal` : ``'
)
mdi
-
help
-
circle
span
{{
$t
(
'editor:markup.markdownFormattingHelp'
)
}}
.
editor
-
markdown
-
editor
...
...
@@ -384,7 +384,7 @@ export default {
}
,
500
),
onCmPaste
(
cm
,
ev
)
{
const
clipItems
=
(
ev
.
clipboardData
||
ev
.
originalEvent
.
clipboardData
).
items
for
(
cons
t
clipItem
of
clipItems
)
{
for
(
le
t
clipItem
of
clipItems
)
{
if
(
_
.
startsWith
(
clipItem
.
type
,
'image/'
))
{
const
file
=
clipItem
.
getAsFile
()
const
reader
=
new
FileReader
()
...
...
client/components/editor/editor-modal-media.vue
View file @
10e19700
...
...
@@ -9,7 +9,7 @@
v-toolbar.radius-7(:color='$vuetify.theme.dark ? `teal` : `teal lighten-5`', dense, flat, height='44')
.body-2(:class='$vuetify.theme.dark ? `white--text` : `teal--text`')
{{
$t
(
'editor:assets.title'
)
}}
v-spacer
v-btn(
flat, icon, @click='refresh', tile, small
)
v-btn(
text, icon, @click='refresh'
)
v-icon(:color='$vuetify.theme.dark ? `white` : `teal`') mdi-refresh
v-dialog(v-model='newFolderDialog', max-width='550')
template(v-slot:activator='{ on }')
...
...
@@ -18,7 +18,7 @@
span.hidden-sm-and-down(:class='$vuetify.theme.dark ? `teal--text text--lighten-3` : ``')
{{
$t
(
'editor:assets.newFolder'
)
}}
v-card
.dialog-header.is-short.subtitle-1
{{
$t
(
'editor:assets.newFolder'
)
}}
v-card-text
v-card-text
.pt-5
v-text-field.md2(
outlined
prepend-icon='mdi-folder-outline'
...
...
@@ -48,7 +48,7 @@
v-icon mdi-folder-upload
v-btn.btn-normalcase.mx-1(v-for='folder of folders', :key='folder.id', depressed, color='grey darken-2', dark, @click='downFolder(folder)')
v-icon(left) mdi-folder
span.caption
{{
folder
.
name
}}
span.caption
(style='text-transform: none;')
{{
folder
.
name
}}
v-divider.mt-2
v-data-table(
:items='assets'
...
...
@@ -186,14 +186,14 @@
//- RENAME DIALOG
v
-
dialog
(
v
-
model
=
'renameDialog'
,
max
-
width
=
'550'
,
persistent
)
v
-
card
.
wiki
-
form
v
-
card
.
dialog
-
header
.
is
-
short
.
is
-
orange
v
-
icon
.
mr
-
2
(
color
=
'white'
)
keyboard
v
-
icon
.
mr
-
2
(
color
=
'white'
)
mdi
-
keyboard
span
{{
$t
(
'editor:assets.renameAsset'
)
}}
v
-
card
-
text
v
-
card
-
text
.
pt
-
5
.
body
-
2
{{
$t
(
'editor:assets.renameAssetSubtitle'
)
}}
v
-
text
-
field
(
outline
outline
d
single
-
line
:
counter
=
'255'
v
-
model
=
'renameAssetName'
...
...
@@ -202,24 +202,24 @@
)
v
-
card
-
chin
v
-
spacer
v
-
btn
(
fla
t
,
@
click
=
'renameDialog = false'
,
:
disabled
=
'renameAssetLoading'
)
{{
$t
(
'common:actions.cancel'
)
}}
v
-
btn
(
color
=
'orange darken-3'
,
@
click
=
'renameAsset'
,
:
loading
=
'renameAssetLoading'
).
white
--
text
{{
$t
(
'common:actions.rename'
)
}}
v
-
btn
(
tex
t
,
@
click
=
'renameDialog = false'
,
:
disabled
=
'renameAssetLoading'
)
{{
$t
(
'common:actions.cancel'
)
}}
v
-
btn
.
px
-
3
(
color
=
'orange darken-3'
,
@
click
=
'renameAsset'
,
:
loading
=
'renameAssetLoading'
).
white
--
text
{{
$t
(
'common:actions.rename'
)
}}
//- DELETE DIALOG
v
-
dialog
(
v
-
model
=
'deleteDialog'
,
max
-
width
=
'550'
,
persistent
)
v
-
card
.
wiki
-
form
v
-
card
.
dialog
-
header
.
is
-
short
.
is
-
red
v
-
icon
.
mr
-
2
(
color
=
'white'
)
highlight_off
v
-
icon
.
mr
-
2
(
color
=
'white'
)
mdi
-
trash
-
can
-
outline
span
{{
$t
(
'editor:assets.deleteAsset'
)
}}
v
-
card
-
text
v
-
card
-
text
.
pt
-
5
.
body
-
2
{{
$t
(
'editor:assets.deleteAssetConfirm'
)
}}
.
body
-
2
.
red
--
text
.
text
--
darken
-
2
{{
currentAsset
.
filename
}}
?
.
caption
.
mt
-
3
{{
$t
(
'editor:assets.deleteAssetWarn'
)
}}
v
-
card
-
chin
v
-
spacer
v
-
btn
(
fla
t
,
@
click
=
'deleteDialog = false'
,
:
disabled
=
'deleteAssetLoading'
)
{{
$t
(
'common:actions.cancel'
)
}}
v
-
btn
(
color
=
'red darken-2'
,
@
click
=
'deleteAsset'
,
:
loading
=
'deleteAssetLoading'
).
white
--
text
{{
$t
(
'common:actions.delete'
)
}}
v
-
btn
(
tex
t
,
@
click
=
'deleteDialog = false'
,
:
disabled
=
'deleteAssetLoading'
)
{{
$t
(
'common:actions.cancel'
)
}}
v
-
btn
.
px
-
3
(
color
=
'red darken-2'
,
@
click
=
'deleteAsset'
,
:
loading
=
'deleteAssetLoading'
).
white
--
text
{{
$t
(
'common:actions.delete'
)
}}
<
/template
>
<
script
>
...
...
client/components/editor/editor-modal-properties.vue
View file @
10e19700
...
...
@@ -16,8 +16,8 @@
)
v-icon(left) mdi-check
span
{{
$t
(
'common:actions.ok'
)
}}
v-card
.wiki-form
(tile)
v-card-text
v-card(tile)
v-card-text
.pt-5
.overline.pb-5
{{
$t
(
'editor:props.pageInfo'
)
}}
v-text-field(
ref='iptTitle'
...
...
@@ -35,7 +35,7 @@
:hint='$t(`editor:props.shortDescriptionHint`)'
)
v-divider
v-card-text.grey(:class='darkMode ? `darken-3-d3` : `lighten-5`')
v-card-text.grey
.pt-5
(:class='darkMode ? `darken-3-d3` : `lighten-5`')
.overline.pb-5
{{
$t
(
'editor:props.pathCategorization'
)
}}
v-container.pa-0(fluid, grid-list-lg)
v-layout(row, wrap)
...
...
@@ -73,7 +73,7 @@
disabled
)
v-divider
v-card-text.p
b
-5.grey(:class='darkMode ? `darken-3-d5` : `lighten-4`')
v-card-text.p
y
-5.grey(:class='darkMode ? `darken-3-d5` : `lighten-4`')
.overline.pb-5
{{
$t
(
'editor:props.publishState'
)
}}
#[v-chip.ml-3(label, color='grey', small, outlined).white--text coming soon]
v-container.pa-0(fluid, grid-list-lg)
v-layout(row, wrap)
...
...
client/components/history.vue
View file @
10e19700
...
...
@@ -36,12 +36,14 @@
v-if='diffSource === ph.versionId'
small
color='pink'
label
)
.caption.white--text Source
v-chip.ml-0.mr-3(
v-if='diffTarget === ph.versionId'
small
color='pink'
label
)
.caption.white--text Target
.caption(v-if='ph.actionType === `edit`') Edited by #[strong
{{
ph
.
authorName
}}
]
...
...
@@ -49,32 +51,28 @@
.caption(v-else-if='ph.actionType === `initial`') Created by #[strong
{{
ph
.
authorName
}}
]
.caption(v-else) Unknown Action by #[strong
{{
ph
.
authorName
}}
]
v-spacer
.caption
{{
ph
.
createdAt
|
moment
(
'calendar'
)
}}
.caption
.mr-3
{{
ph
.
createdAt
|
moment
(
'calendar'
)
}}
v-menu(offset-x, left)
v-btn(icon, slot='activator'): v-icon more_horiz
v-list(dense).history-promptmenu
template(v-slot:activator='{ on }')
v-btn.mr-0(icon, v-on='on', small, tile): v-icon mdi-dots-horizontal
v-list(dense, nav).history-promptmenu
v-list-item(@click='setDiffTarget(ph.versionId)')
v-list-item-avatar
: v-icon call_made
v-list-item-avatar
(size='24'): v-icon mdi-call-received
v-list-item-title Set as Differencing Target
v-divider
v-list-item(@click='setDiffSource(ph.versionId)')
v-list-item-avatar
: v-icon call_received
v-list-item-avatar
(size='24'): v-icon mdi-call-made
v-list-item-title Set as Differencing Source
v-divider
v-list-item
v-list-item-avatar
: v-icon code
v-list-item-avatar
(size='24'): v-icon mdi-code-tags
v-list-item-title View Source
v-divider
v-list-item
v-list-item-avatar
: v-icon cloud_download
v-list-item-avatar
(size='24'): v-icon mdi-cloud-download-outline
v-list-item-title Download Version
v-divider
v-list-item
v-list-item-avatar
: v-icon restore
v-list-item-avatar
(size='24'): v-icon mdi-history
v-list-item-title Restore
v-divider
v-list-item
v-list-item-avatar
: v-icon call_split
v-list-item-avatar
(size='24'): v-icon mdi-source-branch
v-list-item-title Branch off from here
v-btn.ma-0.radius-7(
...
...
@@ -223,11 +221,11 @@ export default {
trailIcon
(
actionType
)
{
switch
(
actionType
)
{
case
'edit'
:
return
'
edit
'
return
'
mdi-pencil
'
case
'move'
:
return
'forward'
case
'initial'
:
return
'
add
'
return
'
mdi-plus
'
default
:
return
'warning'
}
...
...
client/themes/default/components/page.vue
View file @
10e19700
...
...
@@ -49,14 +49,14 @@
v-divider
v-container.grey.pa-0(fluid, :class='darkMode ? `darken-4-l3` : `lighten-4`')
v-row(no-gutters, align-content='center', style='height: 90px;')
v-col.pl-4(offset-xl='2', offset-lg='3')
v-col.pl-4
.page-col-content
(offset-xl='2', offset-lg='3')
.headline.grey--text(:class='darkMode ? `text--lighten-2` : `text--darken-3`')
{{
title
}}
.caption.grey--text.text--darken-1
{{
description
}}
v-divider
v-container.pl-5.pt-4(fluid, grid-list-xl)
v-layout(row)
v-flex.page-col-sd(lg3, xl2, v-if='$vuetify.breakpoint.lgAndUp', style='margin-top: -90px;')
v-card(v-if='toc.length')
v-card
.mb-5
(v-if='toc.length')
.overline.pa-5.pb-0(:class='darkMode ? `blue--text text--lighten-2` : `primary--text`')
{{
$t
(
'common:page.toc'
)
}}
v-list.pb-3(dense, nav, :class='darkMode ? `darken-3-d3` : ``')
template(v-for='(tocItem, tocIdx) in toc')
...
...
@@ -70,7 +70,7 @@
v-list-item-title.px-3.caption.grey--text(:class='darkMode ? `text--lighten-1` : `text--darken-1`')
{{
tocSubItem
.
title
}}
//- v-divider(inset, v-if='tocIdx < toc.length - 1')
v-card.m
t
-5(v-if='tags.length > 0')
v-card.m
b
-5(v-if='tags.length > 0')
.pa-5
.overline.teal--text.pb-2(:class='$vuetify.theme.dark ? `text--lighten-3` : ``') Tags
v-chip.mr-1(
...
...
@@ -83,7 +83,7 @@
v-icon(color='teal', left, small) mdi-label
span.teal--text.text--darken-2
{{
tag
.
text
}}
v-card.m
t
-5
v-card.m
b
-5
.pa-5
.overline.indigo--text.d-flex.align-center(:class='$vuetify.theme.dark ? `text--lighten-3` : ``')
span
{{
$t
(
'common:page.lastEditedBy'
)
}}
...
...
@@ -96,7 +96,7 @@
.body-2.grey--text(:class='darkMode ? `` : `text--darken-3`')
{{
authorName
}}
.caption.grey--text.text--darken-1
{{
updatedAt
|
moment
(
'calendar'
)
}}
v-card.m
t
-5
v-card.m
b
-5
.pa-5
.overline.pb-2.yellow--text(:class='$vuetify.theme.dark ? `text--darken-3` : `text--darken-4`') Rating
.text-center
...
...
@@ -109,8 +109,8 @@
)
.caption.grey--text 5 votes
v-card
.mt-5
(flat)
v-toolbar(:color='darkMode ? `grey darken-3` : `grey lighten-3`', flat, dense)
v-card(flat)
v-toolbar(:color='darkMode ? `grey darken-
4-d
3` : `grey lighten-3`', flat, dense)
v-spacer
v-tooltip(bottom)
template(v-slot:activator='{ on }')
...
...
@@ -122,7 +122,7 @@
span
{{
$t
(
'common:page.share'
)
}}
v-tooltip(bottom)
template(v-slot:activator='{ on }')
v-btn(icon, tile, v-on='on'): v-icon(color='grey') mdi-printer
v-btn(icon, tile, v-on='on'
, @click='print'
): v-icon(color='grey') mdi-printer
span
{{
$t
(
'common:page.printFormat'
)
}}
v-spacer
...
...
@@ -320,6 +320,9 @@ export default {
upBtnScroll
()
{
const
scrollOffset
=
window
.
pageYOffset
||
document
.
documentElement
.
scrollTop
this
.
upBtnShown
=
scrollOffset
>
window
.
innerHeight
*
0.33
},
print
()
{
window
.
print
()
}
}
}
...
...
client/themes/default/scss/app.scss
View file @
10e19700
...
...
@@ -654,16 +654,17 @@
.nav-header
,
.v-navigation-drawer
,
.v-footer
,
.v-btn--f
loating
,
.v-btn--f
ab
,
.page-col-sd
{
display
:
none
;
display
:
none
!
important
;
}
.page-col-content
{
flex-basis
:
100%
!
important
;
flex-grow
:
1
!
important
;
max-width
:
100%
!
important
;
margin-left
:
0
!
important
;
>
.v-toolbar
{
border
:
1px
solid
mc
(
'grey'
,
'300'
)
!
important
;
...
...
@@ -677,6 +678,7 @@
.v-content
{
padding
:
0
!
important
;
font-size
:
14px
;
}
...
...
server/views/legacy/master.pug
View file @
10e19700
...
...
@@ -43,16 +43,6 @@ html
//- CSS
link(
type='text/css'
rel='stylesheet'
href='/css/legacy.b8600c4bfa9b6d21f54c.css'
integrity='sha256-c43Iog8YvFPD9EQvD11jnxb0IYOFUtxYA2ABtJIQPmM= sha512-g1nj/OKi7ykTfsdrhgu4lqOqyKMZBvAGvjS98r9cXI96DaciNfgXtlLIGmR3wgQuGrV3n3rCs94BB6lK9OI7qA=='
crossorigin='use-credentials'
)
script(
crossorigin='anonymous'
...
...
@@ -64,18 +54,14 @@ html
script(
type='text/javascript'
src='/js/runtime.fc95297b6e8ae6e2e003.js'
integrity='sha256-6bZfGqlPATFeFRP90SGQYPuIILZahs+tXrS/eQdEUzc= sha512-tBIg4dA1HmUAT8xl3YuZu9eyiB1KWmSkI74kM2bi+BzZe12YXogJ5PHNzxb+Cnw6fjavInmnljB4X1QFzumrUw=='
crossorigin='use-credentials'
src='/js/runtime.js'
)
script(
type='text/javascript'
src='/js/legacy.b8600c4bfa9b6d21f54c.js'
integrity='sha256-KYTyzCk08U1fUx2pAcphdJOBWcWNe3m4jAcIeeZJX2U= sha512-vOBKbPZkD3HfjP2MfM6O4yhXBXZ5WJNzukJVZMtQKw84yvUePUnJstJ6t90jy2NPO9UTaEpF3J2SNh+3DBofKQ=='
crossorigin='use-credentials'
src='/js/legacy.js'
)
...
...
server/views/master.pug
View file @
10e19700
...
...
@@ -47,34 +47,20 @@ html(lang=siteConfig.lang)
//- CSS
link(
type='text/css'
rel='stylesheet'
href='/css/app.303f1e1fbb500ede4cef.css'
integrity='sha256-wmeXKjjPKSCWT+1pyn38uD5929SyTO0vx1rq3xjLFcE= sha512-Qjh++VFQQnL0y3E0WAzvHmpT9UwTwtQBoo9vwZu02OqxG9OXRGCEJWzRPLkn/fRVP6wrlBPMSz/DVaAaeUhW1w=='
crossorigin='use-credentials'
)
//- JS
script(
type='text/javascript'
src='/js/runtime.fc95297b6e8ae6e2e003.js'
integrity='sha256-6bZfGqlPATFeFRP90SGQYPuIILZahs+tXrS/eQdEUzc= sha512-tBIg4dA1HmUAT8xl3YuZu9eyiB1KWmSkI74kM2bi+BzZe12YXogJ5PHNzxb+Cnw6fjavInmnljB4X1QFzumrUw=='
crossorigin='use-credentials'
src='/js/runtime.js'
)
script(
type='text/javascript'
src='/js/app.303f1e1fbb500ede4cef.js'
integrity='sha256-cSXcjyRtFGAvQ5BnRPbLxcr3itR1X8wgcNO5RlvMLEU= sha512-dy3W6c8IlJpAfGpMi3FibzOI6g1o65CpsEWgIZU/Fl/l0ofUxrxXP3xpfNuAaLgmQfc5l+x3IomXmeM8OBEIUQ=='
crossorigin='use-credentials'
src='/js/app.js'
)
...
...
server/views/setup.pug
View file @
10e19700
...
...
@@ -23,34 +23,20 @@ html
//- CSS
link(
type='text/css'
rel='stylesheet'
href='/css/setup.35a646a90c01e5e5f6f5.css'
integrity='sha256-HNu607cPBzAhzYo8xjvM307b5k18J+Vr2OWTFlMuiIw= sha512-b0KTirC8Myjz1FnIYY9fFrYoexiVj7/3N3TeuHU+IfCx2ZM+uMilVoZPe4sBC+xXTuuJIoJWwgjH3ZI1Lt6eAQ=='
crossorigin='use-credentials'
)
//- JS
script(
type='text/javascript'
src='/js/runtime.fc95297b6e8ae6e2e003.js'
integrity='sha256-6bZfGqlPATFeFRP90SGQYPuIILZahs+tXrS/eQdEUzc= sha512-tBIg4dA1HmUAT8xl3YuZu9eyiB1KWmSkI74kM2bi+BzZe12YXogJ5PHNzxb+Cnw6fjavInmnljB4X1QFzumrUw=='
crossorigin='use-credentials'
src='/js/runtime.js'
)
script(
type='text/javascript'
src='/js/setup.35a646a90c01e5e5f6f5.js'
integrity='sha256-DS7oIW0jf1JjTIBH/NfUxFTx9ZCUd67yy0OdZ4+PqZc= sha512-dHe0IsiBCGYirAl+JqFIjQEtG/sV/QShDoppFskoqunXxGnzqM1zphxfRCX8ooKLaQrGfW9F8HNBVsUSK02HNg=='
crossorigin='use-credentials'
src='/js/setup.js'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment