Skip to content

Commit 717d928

Browse files
moesohadark-flames
authored andcommitted
Use vue-fontawesome to show icons (#39)
# switch to vue-fa
1 parent e2aef42 commit 717d928

18 files changed

+90
-24
lines changed

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
"test-dist": "hs dist"
2020
},
2121
"dependencies": {
22-
"@fortawesome/fontawesome-free": "^5.1.0",
22+
"@fortawesome/fontawesome-svg-core": "^1.2.15",
23+
"@fortawesome/free-solid-svg-icons": "^5.7.2",
24+
"@fortawesome/vue-fontawesome": "^0.1.6",
2325
"axios": "^0.18.0",
2426
"codemirror": "^5.39.0",
2527
"global": "^4.3.2",

src/MarkdownPalettes.vue

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,14 @@
1717
unselectable="on"
1818
@click="toolbarAction(item)">
1919
<i
20-
:class="['fa', ensureValue(item.icon)]"
21-
unselectable="on">{{ ensureValue(item.content) }}</i>
20+
v-if="item.hasOwnProperty('class')"
21+
:class="ensureValue(item.class)"
22+
unselectable="on"
23+
>{{ ensureValue(item.content) }}</i>
24+
<font-awesome-icon
25+
v-else-if="item.hasOwnProperty('icon')"
26+
:icon="ensureValue(item.icon)"
27+
/>
2228
</a>
2329
</li>
2430
</ul>
@@ -204,11 +210,21 @@
204210
margin: 0 5px
205211
height: 65%
206212
border-right: 1px solid #ddd
213+
.mp-icon-header
214+
text-align center
215+
display block
216+
padding 5px 0
217+
font-weight 900
218+
-moz-osx-font-smoothing grayscale
219+
-webkit-font-smoothing antialiased
220+
font-style normal
221+
font-variant normal
222+
text-rendering auto
223+
line-height 1
207224
</style>
208225

209226
<script>
210-
import '@fortawesome/fontawesome-free/css/solid.css'
211-
import '@fortawesome/fontawesome-free/css/fontawesome.css'
227+
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
212228
213229
import Dialog from './components/Dialog/Dialog.vue'
214230
import PreviewArea from './components/PreviewArea.js'
@@ -225,7 +241,7 @@ import { getText } from './utils/i18n'
225241
226242
export default {
227243
name: 'markdown-palettes',
228-
components: { 'editor-dialog': Dialog, PreviewArea },
244+
components: { FontAwesomeIcon, 'editor-dialog': Dialog, PreviewArea },
229245
mixins: [InputAreaMixin, PreviewAreaMixin, ToolbarMixin, ActionMixin],
230246
props: {
231247
value: {

src/components/ToolBarBtns/btn-bold.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { faBold } from '@fortawesome/free-solid-svg-icons'
2+
13
export default {
24
name: 'bold',
3-
icon: 'fa-bold',
5+
icon: faBold,
46
title: '粗体',
57
action: {
68
insert: ['**', '**']

src/components/ToolBarBtns/btn-code.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { faCode } from '@fortawesome/free-solid-svg-icons'
2+
13
export default {
24
name: 'img',
3-
icon: 'fa-code',
5+
icon: faCode,
46
title: '插入代码',
57
action () {
68
const selection = this.editor.getSelection()

src/components/ToolBarBtns/btn-fullscreen.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { faExpandArrowsAlt } from '@fortawesome/free-solid-svg-icons'
2+
13
export default {
24
name: 'fullScreen',
3-
icon: 'fa-expand-arrows-alt',
5+
icon: faExpandArrowsAlt,
46
title () { return this.fullScreen ? '取消全屏' : '全屏' },
57
action: {
68
event: 'fullScreen'

src/components/ToolBarBtns/btn-header.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export default function headerFactory (level) {
22
return {
33
name: 'h' + level,
4-
icon: 'icon-blold',
4+
class: ['mp-icon-header'],
55
content: 'H' + level,
66
title: level + '级标题',
77
action () {

src/components/ToolBarBtns/btn-hide.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'
2+
13
export default {
24
name: 'hide',
3-
icon () { return this.previewDisplay === 'hide' ? 'fa-eye-slash' : 'fa-eye' },
5+
icon () { return this.previewDisplay === 'hide' ? faEyeSlash : faEye },
46
title () { return this.previewDisplay === 'hide' ? '显示预览' : '隐藏预览' },
57
action: {
68
event: 'hide'

src/components/ToolBarBtns/btn-hr.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { faMinus } from '@fortawesome/free-solid-svg-icons'
2+
13
export default {
24
name: 'hr',
3-
icon: 'fa-minus',
5+
icon: faMinus,
46
title: '分割线',
57
action: {
68
insert: '\n\n------------\n'

src/components/ToolBarBtns/btn-img.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { faImage } from '@fortawesome/free-solid-svg-icons'
2+
13
export default {
24
name: 'img',
3-
icon: 'fa-image',
5+
icon: faImage,
46
title: '插入图片',
57
action: {
68
request: {

src/components/ToolBarBtns/btn-info.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'
2+
13
export default {
24
name: 'info',
3-
icon: 'fa-info-circle',
5+
icon: faInfoCircle,
46
title: '关于',
57
action () {
68
this.openDialog({

0 commit comments

Comments
 (0)