feat:备份

This commit is contained in:
shixiaohua 2024-03-08 17:54:39 +08:00
parent e24e50f68e
commit 57fbb7a259
17 changed files with 151 additions and 216 deletions

View File

@ -20,7 +20,7 @@ module.exports = {
// 修改output.publicPath为'./' // 修改output.publicPath为'./'
// webpackConfig.output.publicPath = './'; // webpackConfig.output.publicPath = './';
webpackConfig.output.path = path.join(__dirname,); webpackConfig.output.path = path.join(__dirname,);
webpackConfig.output.publicPath = path.join(__dirname,path.sep); webpackConfig.output.publicPath = "";
return webpackConfig; return webpackConfig;
}, },
} }

View File

@ -30,24 +30,6 @@ const readDirLocal=async (filePath) => {
} }
exports.menuRebuild = (mainWindow) => { exports.menuRebuild = (mainWindow) => {
return template = [ return template = [
// { role: 'appMenu' }
...(isMac
? [{
label: app.name,
submenu: [
{role: 'about'},
{type: 'separator'},
{role: 'services'},
{type: 'separator'},
{role: 'hide'},
{role: 'hideOthers'},
{role: 'unhide'},
{type: 'separator'},
{role: 'quit'}
]
}]
: []),
// { role: 'fileMenu' }
{ {
label: '文件', label: '文件',
submenu: [ submenu: [
@ -89,78 +71,30 @@ exports.menuRebuild = (mainWindow) => {
isMac ? {role: 'close'} : {role: 'quit'}, isMac ? {role: 'close'} : {role: 'quit'},
] ]
}, },
// { role: 'editMenu' }
{ {
label: 'Edit', label: '编辑',
submenu: [ submenu: [
{role: 'undo'}, {label: '撤销'},
{role: 'redo'}, {label: '取消撤销'},
{type: 'separator'},// 分割线 {type: 'separator'},// 分割线
{role: 'cut'}, {label: '剪切'},
{role: 'copy'}, {label: '复制'},
{role: 'paste'}, {label: '粘贴'},
...(isMac
? [
{role: 'pasteAndMatchStyle'},
{role: 'delete'},
{role: 'selectAll'},
{type: 'separator'},
{
label: 'Speech',
submenu: [
{role: 'startSpeaking'},
{role: 'stopSpeaking'}
]
}
]
: [
{role: 'delete'},
{type: 'separator'},
{role: 'selectAll'}
])
] ]
}, },
// { role: 'viewMenu' } // { role: 'viewMenu' }
{ {
label: 'View', label: '视图',
submenu: [ submenu: [
{label: '界面布局'}, {label: '界面布局'},
{role: 'reload'},
{role: 'forceReload'},
{role: 'toggleDevTools'},
{type: 'separator'},
{role: 'resetZoom'},
{role: 'zoomIn'},
{role: 'zoomOut'},
{type: 'separator'},
{role: 'togglefullscreen'}
]
},
// { role: 'windowMenu' }
{
label: 'Window',
submenu: [
{role: 'minimize'},
{role: 'zoom'},
...(isMac
? [
{type: 'separator'},
{role: 'front'},
{type: 'separator'},
{role: 'window'}
]
: [
{role: 'close'}
])
] ]
}, },
{ {
role: 'help', label: '帮助',
submenu: [ submenu: [
{ {
label: 'Learn More', label: '了解更多',
click: async () => { click: async () => {
const {shell} = require('electron')
await shell.openExternal('http://www.huaruyu.com') await shell.openExternal('http://www.huaruyu.com')
} }
} }

View File

@ -1,22 +1,50 @@
const pathOp=require("path")
module.exports = { module.exports = {
packagerConfig: {}, packagerConfig: {
// 参考网址https://electron.github.io/packager/main/interfaces/Options.html#afterCopy
"name": "xbb",
"executableName": "xbb",
"icon": pathOp.join(__dirname,pathOp.sep)+"public"+pathOp.sep+"favicon.ico",
"out": "build/",
"overwrite": true,
"asar":true,
"version": "1.0.0",
"copyright": "Copyright © 2023",
"platform": "linux,win32"
// "ignore": [ // 不需要打包的文件和文件夹的路径列表
// ".git",
// ".vscode",
// "node_modules",
// ]
},
rebuildConfig: {}, rebuildConfig: {},
makers: [ makers: [
{ {
name: '@electron-forge/maker-squirrel', name: '@electron-forge/maker-squirrel',
config: {}, config: {
"name":"electron_quick_start"
},
}, },
{ {
name: '@electron-forge/maker-zip', name: '@electron-forge/maker-zip',
platforms: ['darwin'], platforms: ['darwin'],
config: {
"name": "xbb",
"executableName": "xbb",
}
}, },
{ {
name: '@electron-forge/maker-deb', name: '@electron-forge/maker-deb',
config: {}, config: {
"name": "xbb",
"executableName": "xbb",
},
}, },
{ {
name: '@electron-forge/maker-rpm', name: '@electron-forge/maker-rpm',
config: {}, config: {
"name": "xbb"
},
}, },
], ],
}; };

22
main.js
View File

@ -1,8 +1,9 @@
const {app, Menu, BrowserWindow,ipcMain,dialog} = require('electron') const {app, Menu, BrowserWindow,ipcMain,dialog} = require('electron')
const path = require('path') const path = require('path')
const {menuRebuild} = require('./src/comment/TopMenu.js') const {menuRebuild} = require('./elsrc/TopMenu.js')
const Store = require('electron-store'); const Store = require('electron-store');
const store = new Store(); const store = new Store();
const isDev = require('electron-is-dev')
const createWindow = () => { const createWindow = () => {
// Create the browser window. // Create the browser window.
const win = new BrowserWindow({ const win = new BrowserWindow({
@ -15,11 +16,16 @@ const createWindow = () => {
preload: path.join(__dirname, 'preload.js') preload: path.join(__dirname, 'preload.js')
} }
}) })
if (isDev){
// 加载 index.html // 加载 index.html
win.loadFile('./index.html') win.loadURL('http://localhost:3000')
// win.loadURL('http://localhost:3000')
// 打开开发工具 // 打开开发工具
win.webContents.openDevTools() win.webContents.openDevTools()
}else {
// 加载 index.html
win.loadFile('./index.html')
}
// let okPush =false // let okPush =false
let devToolPush = false let devToolPush = false
win.webContents.on('before-input-event', (event, input) => { win.webContents.on('before-input-event', (event, input) => {
@ -45,17 +51,25 @@ const createWindow = () => {
}) })
Menu.setApplicationMenu(Menu.buildFromTemplate(menuRebuild(win))) Menu.setApplicationMenu(Menu.buildFromTemplate(menuRebuild(win)))
win.once('ready-to-show', () => {
win.show()
})
return win
} }
// 这段程序将会在 Electron 结束初始化和创建浏览器窗口的时候调用 // 这段程序将会在 Electron 结束初始化和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。 // 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => { app.whenReady().then(() => {
createWindow() let browserWindow = createWindow();
// 在 macOS 系统内, 如果没有已开启的应用窗口 // 在 macOS 系统内, 如果没有已开启的应用窗口
// 点击托盘图标时通常会重新创建一个新窗口 // 点击托盘图标时通常会重新创建一个新窗口
app.on('activate', () => { app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) createWindow() if (BrowserWindow.getAllWindows().length === 0) createWindow()
}) })
// ipcMain.on("redirectUrlTo",(event,value)=>
// browserWindow.webContents.send('redirectUrl', value)
// )
ipcMain.handle("saveFileWithName",(listen,args)=>{ ipcMain.handle("saveFileWithName",(listen,args)=>{
console.log("saveFileWithName") console.log("saveFileWithName")
return dialog.showSaveDialog({"title":"保存文件",}) return dialog.showSaveDialog({"title":"保存文件",})

127
package-lock.json generated
View File

@ -9,6 +9,7 @@
"version": "1.0.0", "version": "1.0.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"electron-is-dev": "^1.1.0",
"electron-squirrel-startup": "^1.0.0", "electron-squirrel-startup": "^1.0.0",
"electron-store": "^8.1.0", "electron-store": "^8.1.0",
"md5": "^2.3.0", "md5": "^2.3.0",
@ -36,8 +37,6 @@
"concurrently": "^4.1.1", "concurrently": "^4.1.1",
"craco-less": "^2.0.0", "craco-less": "^2.0.0",
"cross-env": "^5.2.0", "cross-env": "^5.2.0",
"echarts": "^5.4.1",
"echarts-for-react": "^3.0.2",
"electron": "^22.1.0", "electron": "^22.1.0",
"formik": "^2.2.9", "formik": "^2.2.9",
"lexical": "^0.12.6", "lexical": "^0.12.6",
@ -10786,36 +10785,6 @@
"safer-buffer": "^2.1.0" "safer-buffer": "^2.1.0"
} }
}, },
"node_modules/echarts": {
"version": "5.4.3",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.4.3.tgz",
"integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
"dev": true,
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.4.4"
}
},
"node_modules/echarts-for-react": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz",
"integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==",
"dev": true,
"dependencies": {
"fast-deep-equal": "^3.1.3",
"size-sensor": "^1.0.1"
},
"peerDependencies": {
"echarts": "^3.0.0 || ^4.0.0 || ^5.0.0",
"react": "^15.0.0 || >=16.0.0"
}
},
"node_modules/echarts/node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
"dev": true
},
"node_modules/ee-first": { "node_modules/ee-first": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
@ -11269,6 +11238,11 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/electron-is-dev": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/electron-is-dev/-/electron-is-dev-1.2.0.tgz",
"integrity": "sha512-R1oD5gMBPS7PVU8gJwH6CtT0e6VSoD0+SzSnYpNm+dBkcijgA+K7VAMHDfnRq/lkKPZArpzplTW6jfiMYosdzw=="
},
"node_modules/electron-packager": { "node_modules/electron-packager": {
"version": "17.1.1", "version": "17.1.1",
"resolved": "https://registry.npmmirror.com/electron-packager/-/electron-packager-17.1.1.tgz", "resolved": "https://registry.npmmirror.com/electron-packager/-/electron-packager-17.1.1.tgz",
@ -22668,6 +22642,40 @@
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"node_modules/react-scripts/node_modules/sass-loader": {
"version": "12.6.0",
"resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz",
"integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
"dev": true,
"dependencies": {
"klona": "^2.0.4",
"neo-async": "^2.6.2"
},
"engines": {
"node": ">= 12.13.0"
},
"peerDependencies": {
"fibers": ">= 3.1.0",
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
"sass": "^1.3.0",
"sass-embedded": "*",
"webpack": "^5.0.0"
},
"peerDependenciesMeta": {
"fibers": {
"optional": true
},
"node-sass": {
"optional": true
},
"sass": {
"optional": true
},
"sass-embedded": {
"optional": true
}
}
},
"node_modules/react-scripts/node_modules/semver": { "node_modules/react-scripts/node_modules/semver": {
"version": "7.5.4", "version": "7.5.4",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
@ -23513,40 +23521,6 @@
"node": ">=12" "node": ">=12"
} }
}, },
"node_modules/sass-loader": {
"version": "12.6.0",
"resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz",
"integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
"dev": true,
"dependencies": {
"klona": "^2.0.4",
"neo-async": "^2.6.2"
},
"engines": {
"node": ">= 12.13.0"
},
"peerDependencies": {
"fibers": ">= 3.1.0",
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
"sass": "^1.3.0",
"sass-embedded": "*",
"webpack": "^5.0.0"
},
"peerDependenciesMeta": {
"fibers": {
"optional": true
},
"node-sass": {
"optional": true
},
"sass": {
"optional": true
},
"sass-embedded": {
"optional": true
}
}
},
"node_modules/sax": { "node_modules/sax": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
@ -23903,12 +23877,6 @@
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
"dev": true "dev": true
}, },
"node_modules/size-sensor": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/size-sensor/-/size-sensor-1.0.2.tgz",
"integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==",
"dev": true
},
"node_modules/slash": { "node_modules/slash": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz",
@ -27182,21 +27150,6 @@
"engines": { "engines": {
"node": ">=10" "node": ">=10"
} }
},
"node_modules/zrender": {
"version": "5.4.4",
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.4.4.tgz",
"integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
"dev": true,
"dependencies": {
"tslib": "2.3.0"
}
},
"node_modules/zrender/node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
"dev": true
} }
} }
} }

View File

@ -8,12 +8,12 @@
"devDependencies": { "devDependencies": {
"@ant-design/pro-components": "^2.3.57", "@ant-design/pro-components": "^2.3.57",
"@craco/craco": "^6.0.0", "@craco/craco": "^6.0.0",
"@excalidraw/excalidraw": "^0.17.0",
"@electron-forge/cli": "^6.0.4", "@electron-forge/cli": "^6.0.4",
"@electron-forge/maker-deb": "^6.0.4", "@electron-forge/maker-deb": "^6.0.4",
"@electron-forge/maker-rpm": "^6.0.4", "@electron-forge/maker-rpm": "^6.0.4",
"@electron-forge/maker-squirrel": "^6.0.4", "@electron-forge/maker-squirrel": "^6.0.4",
"@electron-forge/maker-zip": "^6.0.4", "@electron-forge/maker-zip": "^6.0.4",
"@excalidraw/excalidraw": "^0.17.0",
"@lexical/react": "^0.12.6", "@lexical/react": "^0.12.6",
"@reduxjs/toolkit": "^1.9.3", "@reduxjs/toolkit": "^1.9.3",
"@testing-library/jest-dom": "^5.16.5", "@testing-library/jest-dom": "^5.16.5",
@ -52,6 +52,7 @@
"make": "electron-forge make" "make": "electron-forge make"
}, },
"dependencies": { "dependencies": {
"electron-is-dev": "^1.1.0",
"electron-squirrel-startup": "^1.0.0", "electron-squirrel-startup": "^1.0.0",
"electron-store": "^8.1.0", "electron-store": "^8.1.0",
"md5": "^2.3.0", "md5": "^2.3.0",
@ -74,5 +75,8 @@
"last 1 firefox version", "last 1 firefox version",
"last 1 safari version" "last 1 safari version"
] ]
},
"config": {
"forge": "./forge.config.js"
} }
} }

View File

@ -14,11 +14,11 @@
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /> <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!-- 应用加壳 --> <!-- 应用加壳 -->
<!-- <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> --> <!-- <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> -->
<title>工作小能手</title> <title>送给最亲爱的小宝贝</title>
<!--[if IE]> <!--[if IE]>
<script src="js/html5.js"></script> <script src="js/html5.js"></script>
<![endif]--> <![endif]-->
<script src="index.jsx"></script>
</head> </head>

3
public/index.jsx Normal file
View File

@ -0,0 +1,3 @@
const path = require("path");
_webpack_public_path=path.join(__dirname,path.sep)
console.log("_webpack_public_path:",_webpack_public_path)

View File

@ -5,6 +5,7 @@ import useIpcRenderer from '../src/utils/useIpcRenderer'
import {dirAdd} from "./redux/dirMessage_reducer"; import {dirAdd} from "./redux/dirMessage_reducer";
import {pushHotkeys} from "./redux/pushHotkeys_reducer"; import {pushHotkeys} from "./redux/pushHotkeys_reducer";
import {useDispatch} from "react-redux"; import {useDispatch} from "react-redux";
import Note from "./pages/Note";
function App() { function App() {
@ -32,9 +33,9 @@ function App() {
return ( return (
<> <>
{/* 注册路由 */} {/* 注册路由 */}
{element} {element}<Note/>
</> </>
) )
}; }
export default App; export default App;

View File

@ -698,22 +698,22 @@ i.redo {
background-image: url(images/icons/type-h2.svg); background-image: url(images/icons/type-h2.svg);
} }
.icon.small-heading,
.icon.h3 { .icon.h3 {
background-image: url(images/icons/type-h3.svg); background-image: url(images/icons/type-h3.svg);
} }
.icon.small-heading,
.icon.h4 { .icon.h4 {
background-image: url(images/icons/type-h4.svg); background-image: url(images/icons/type-h4.svg);
} }
.icon.small-heading,
.icon.h5 { .icon.h5 {
background-image: url(images/icons/type-h5.svg); background-image: url(images/icons/type-h5.svg);
} }
.icon.small-heading,
.icon.h6 { .icon.h6 {
background-image: url(images/icons/type-h6.svg); background-image: url(images/icons/type-h6.svg);
} }

View File

@ -66,7 +66,7 @@ export function InsertImageUriDialogBody({
data-test-id="image-modal-confirm-btn" data-test-id="image-modal-confirm-btn"
disabled={isDisabled} disabled={isDisabled}
onClick={() => onClick({altText, src})}> onClick={() => onClick({altText, src})}>
Confirm 确认
</Button> </Button>
</DialogActions> </DialogActions>
</> </>
@ -114,7 +114,7 @@ export function InsertImageUploadedDialogBody({
data-test-id="image-modal-file-upload-btn" data-test-id="image-modal-file-upload-btn"
disabled={isDisabled} disabled={isDisabled}
onClick={() => onClick({altText, src})}> onClick={() => onClick({altText, src})}>
Confirm 确认
</Button> </Button>
</DialogActions> </DialogActions>
</> </>

View File

@ -222,16 +222,16 @@ export default function ImageResizer({
}; };
return ( return (
<div ref={controlWrapperRef}> <div ref={controlWrapperRef}>
{!showCaption && captionsEnabled && ( {/*{!showCaption && captionsEnabled && (*/}
<button {/* <button*/}
className="image-caption-button" {/* className="image-caption-button"*/}
ref={buttonRef} {/* ref={buttonRef}*/}
onClick={() => { {/* onClick={() => {*/}
setShowCaption(!showCaption); {/* setShowCaption(!showCaption);*/}
}}> {/* }}>*/}
Add Caption {/* Add Caption*/}
</button> {/* </button>*/}
)} {/*)}*/}
<div <div
className="image-resizer image-resizer-n" className="image-resizer image-resizer-n"
onPointerDown={(event) => { onPointerDown={(event) => {

View File

@ -451,7 +451,7 @@ function TableActionMenu({
className="item" className="item"
onClick={() => mergeTableCellsAtSelection()} onClick={() => mergeTableCellsAtSelection()}
data-test-id="table-merge-cells"> data-test-id="table-merge-cells">
Merge cells 和并单元格
</button> </button>
); );
} else if (canUnmergeCell) { } else if (canUnmergeCell) {
@ -460,7 +460,7 @@ function TableActionMenu({
className="item" className="item"
onClick={() => unmergeTableCellsAtSelection()} onClick={() => unmergeTableCellsAtSelection()}
data-test-id="table-unmerge-cells"> data-test-id="table-unmerge-cells">
Unmerge cells 拆分单元格
</button> </button>
); );
} }

View File

@ -79,7 +79,7 @@ export function InsertTableDialog({activeEditor,
<> <>
<TextInput <TextInput
placeholder={'# of rows (1-500)'} placeholder={'# of rows (1-500)'}
label="Rows" label=""
onChange={setRows} onChange={setRows}
value={rows} value={rows}
data-test-id="table-modal-rows" data-test-id="table-modal-rows"
@ -87,7 +87,7 @@ export function InsertTableDialog({activeEditor,
/> />
<TextInput <TextInput
placeholder={'# of columns (1-50)'} placeholder={'# of columns (1-50)'}
label="Columns" label=""
onChange={setColumns} onChange={setColumns}
value={columns} value={columns}
data-test-id="table-modal-columns" data-test-id="table-modal-columns"
@ -95,7 +95,7 @@ export function InsertTableDialog({activeEditor,
/> />
<DialogActions data-test-id="table-model-confirm-insert"> <DialogActions data-test-id="table-model-confirm-insert">
<Button disabled={isDisabled} onClick={onClick}> <Button disabled={isDisabled} onClick={onClick}>
Confirm 确认
</Button> </Button>
</DialogActions> </DialogActions>
</> </>

View File

@ -400,7 +400,7 @@ function BlockOptionsDropdownList({
{blockType === "h1" && <span className="active"/>} {blockType === "h1" && <span className="active"/>}
</button> </button>
<button className="item" onClick={formatSmallHeading}> <button className="item" onClick={formatSmallHeading}>
<span className="icon small-heading"/> <span className="icon small-heading h2"/>
<span className="text">二级标题</span> <span className="text">二级标题</span>
{blockType === "h2" && <span className="active"/>} {blockType === "h2" && <span className="active"/>}
</button> </button>

View File

@ -4,6 +4,10 @@ import GateWay from '../pages/GateWay'
import Note from '../pages/Note' import Note from '../pages/Note'
import Hlexical from '../pages/Note/Hlexical' import Hlexical from '../pages/Note/Hlexical'
export default [ export default [
{
path:'/',
element:<Navigate to="/note"/>
},
{ {
path:'/note', path:'/note',
element:<Note/>, element:<Note/>,
@ -22,16 +26,6 @@ export default [
path:'/GateWay', path:'/GateWay',
element:<GateWay/>, element:<GateWay/>,
}, },
{
path:'/',
// element:<Navigate to="/note"/>
element:<Note/>,
children:[
{
path:'Hlexical',
element:<Hlexical/>
}
]
},
] ]

View File

@ -26,7 +26,11 @@ export function fileDirFormat(dir,fileName){
} }
export function fileDirFormatArray(dirArray){ export function fileDirFormatArray(dirArray){
// todo // todo
if(process.platform==="win32"){
return dirArray.join(pathOperate.sep)
}else {
return pathOperate.sep+dirArray.join(pathOperate.sep) return pathOperate.sep+dirArray.join(pathOperate.sep)
}
} }
export function fullFileNameFormat(dir,fileName){ export function fullFileNameFormat(dir,fileName){