Skip to content

Commit eb5ff3e

Browse files
committed
feat: add search, close #43
1 parent 12e2479 commit eb5ff3e

File tree

10 files changed

+395
-16
lines changed

10 files changed

+395
-16
lines changed

.eslintrc

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
{
22
"extends": ["vue"],
3+
"env": {
4+
"browser": true
5+
},
36
"globals": {
4-
"XMLHttpRequest": true,
5-
"__docsify__": true
7+
"$docsify": true
68
}
79
}

build/build-css.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ var fs = require('fs')
22
var cssnano = require('cssnano').process
33
var resolve = require('path').resolve
44
var postcss = require('postcss')
5+
var isProd = process.argv[process.argv.length - 1] !== '--dev'
56

67
var processor = postcss([require('postcss-salad')({
78
features: {
@@ -34,7 +35,7 @@ list.forEach(function (file) {
3435
.then(function (result) {
3536
save(file, result.css)
3637
console.log('salad - ' + file)
37-
cssnano(loadLib(file))
38+
isProd && cssnano(loadLib(file))
3839
.then(function (result) {
3940
saveMin(file, result.css)
4041
console.log('cssnao - ' + file)

build/build.js

+14-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ var buble = require('rollup-plugin-buble')
33
var commonjs = require('rollup-plugin-commonjs')
44
var nodeResolve = require('rollup-plugin-node-resolve')
55
var uglify = require('rollup-plugin-uglify')
6+
var isProd = process.argv[process.argv.length - 1] !== '--dev'
67

78
var build = function (opts) {
89
rollup
@@ -16,7 +17,7 @@ var build = function (opts) {
1617
console.log(dest)
1718
bundle.write({
1819
format: 'iife',
19-
moduleName: opts.moduleName || 'Docsify',
20+
moduleName: opts.moduleName || 'D',
2021
dest: dest
2122
})
2223
})
@@ -30,8 +31,19 @@ build({
3031
output: 'docsify.js',
3132
plugins: [commonjs(), nodeResolve()]
3233
})
33-
build({
34+
isProd && build({
3435
entry: 'index.js',
3536
output: 'docsify.min.js',
3637
plugins: [commonjs(), nodeResolve(), uglify()]
3738
})
39+
build({
40+
entry: 'plugins/search.js',
41+
output: 'plugins/search.js',
42+
moduleName: 'D.Search'
43+
})
44+
isProd && build({
45+
entry: 'plugins/search.js',
46+
output: 'plugins/search.min.js',
47+
moduleName: 'D.Search',
48+
plugins: [uglify()]
49+
})

dev.html

+18-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,24 @@
66
<link rel="stylesheet" href="/themes/vue.css">
77
</head>
88
<body>
9+
<nav>
10+
<a href="#/">En</a>
11+
<a href="#/zh-cn">中文</a>
12+
</nav>
913
<div id="app"></div>
1014
</body>
11-
<script src="/lib/docsify.js" data-repo="qingwei-li/docsify" data-name="docsify" data-auto2top></script>
15+
<script>
16+
window.$docsify = {
17+
search: {
18+
maxAge: 0
19+
}
20+
}
21+
</script>
22+
<script
23+
src="/lib/docsify.js"
24+
data-repo="qingwei-li/docsify"
25+
data-name="docsify"
26+
data-base-path="docs/"
27+
data-auto2top></script>
28+
<script src="/lib/plugins/search.js"></script>
1229
</html>

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
],
1111
"scripts": {
1212
"build": "rm -rf lib themes && node build/build.js && mkdir lib/themes && mkdir themes && node build/build-css.js",
13-
"dev": "node app.js & nodemon -w src -e js,css --exec 'npm run build'",
13+
"dev:build": "rm -rf lib themes && mkdir themes && node build/build.js --dev && node build/build-css.js --dev",
14+
"dev": "node app.js & nodemon -w src -e js,css --exec 'npm run dev:build'",
1415
"test": "eslint src test"
1516
},
1617
"repository": {

src/event.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export function scrollActiveSidebar () {
99

1010
let hoveredOverSidebar = false
1111
const anchors = document.querySelectorAll('.anchor')
12-
const sidebar = document.querySelector('.sidebar>div')
12+
const sidebar = document.querySelector('.sidebar')
1313
const sidebarHeight = sidebar.clientHeight
1414

1515
const nav = {}

0 commit comments

Comments
 (0)