我第一次玩电子。尝试创建一个文本编辑器
在渲染中,我正在发送一条消息以指示内容已更改并需要保存:
document.getElementById('content').onkeyup = e => {
ipcRenderer.send('SAVE_NEEDED', {
content: e.target.innerHTML,
fileDir
})
}
Run Code Online (Sandbox Code Playgroud)
然后ipcMain接收它没有问题。在菜单上我有这个:
{
label: 'Save',
click: _ => {
saveFile(message)
// trying:
// ipcMain.send('SAVED', 'File Saved')
},
accelerator: 'cmd+S', // shortcut
}
Run Code Online (Sandbox Code Playgroud)
这样用户就知道文件已经有了。但这似乎不起作用。有没有其他方法可以做到这一点?我原以为“保存”将是一个预先创建的角色(有点)
我想做这个
在 src/modules/layout/nav.js
...
export default NavBar;
Run Code Online (Sandbox Code Playgroud)
在 src/modules/layout/side.js
...
export default sideBar;
Run Code Online (Sandbox Code Playgroud)
在 src/modules/layout/index.js
import NavBar from './nav';
import sideBar from './side';
export { NavBar, sideBar };
Run Code Online (Sandbox Code Playgroud)
在 src/modules/index.js
import * from './layout';
Run Code Online (Sandbox Code Playgroud)
最后一点不起作用.根据教程,我可以去,src/App.js并使用navBar如下:
从'./modules'导入{navBar};
但事实是*不起作用我不能这样做.有什么选择,不必像这样
在 src/modules/index.js
import * as All from './layout';
export All;
Run Code Online (Sandbox Code Playgroud)
然后在App.js,走All.navBar.那感觉很难看
我们为什么要做这个
router.get('/data', async (ctx, next) => {
ctx.body = dummyjson.parse(data);
await next();
});
router.get('/data/:x', async (ctx, next) => {
const newData = dataRepeat.replace('%(x)', ctx.params.x);
ctx.body = dummyjson.parse(newData);
await next();
});
Run Code Online (Sandbox Code Playgroud)
有什么用? await next()
没有它,它会工作得很好.yield next在路由器的末尾添加了koa 1,预计会发生类似的事情.
在我,package.json我有这个
"scripts": {
"start": "gulp serve",
"git": "git add . && git commit -m 'some-message' && git push --all"
},
Run Code Online (Sandbox Code Playgroud)
在我运行的终端npm run git中,推送更改.但是如何动态更改提交消息?例如npm run git MESSAGE='another commit'
我从文档中得到了这个
app.on('ready', function(){
devtools = new BrowserWindow()
window = new BrowserWindow({width:800, height:600})
window.loadURL(path.join('file://', __dirname, 'static/index.html'))
window.webContents.setDevToolsWebContents(devtools.webContents)
window.webContents.openDevTools({mode: 'detach'})
})
Run Code Online (Sandbox Code Playgroud)
它打开两个窗口,一个是开发工具。但它就在主窗口的下面。
有没有办法让它们并排(屏幕足够大)?
如何从一个元素中选择文本有很多问题得到解答。例如,从这个答案:
function surroundSelection() {
var span = document.createElement("span");
span.style.fontWeight = "bold";
span.style.color = "green";
if (window.getSelection) {
var sel = window.getSelection();
if (sel.rangeCount) {
var range = sel.getRangeAt(0).cloneRange();
range.surroundContents(span);
sel.removeAllRanges();
sel.addRange(range);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是我们如何对多个标签执行此操作呢?例如,如果这是标记
<p>Lorem ipsum dolor sit amet,</p>
<p>consectetur START HERE adipisicing elit.</p>
<p>Eaque et END HERE possimus at minima, illo?</p>
Run Code Online (Sandbox Code Playgroud)
如果用户选择第二段和第三段中的文本,如何将其包装在自己的单独 div 中
<p>Lorem ipsum dolor sit amet,</p>
<p>consectetur <span>adipisicing elit.</span></p>
<p><span>Eaque et</span> possimus at minima, illo?</p>
Run Code Online (Sandbox Code Playgroud)
我希望这个“破碎”的例子有帮助
我讨厌这个对象数组,每个对象都有一个日期,我希望能够将这些对象分组为月份。有没有办法转换这个
var data = [
{ date: "2016-08-13",...},
{ date: "2016-07-23",...},
{ date: "2016-08-11",...},
{ date: "2016-08-10",...},
{ date: "2016-07-20",...},
{ date: "2016-07-21",...},
]
Run Code Online (Sandbox Code Playgroud)
变成这样的东西
var data = [
[{ date: "2016-08-13",...},
{ date: "2016-08-11",...},
{ date: "2016-08-10",...}],
[{ date: "2016-07-20",...},
{ date: "2016-07-21",...},
{ date: "2016-07-23",...}[
]
Run Code Online (Sandbox Code Playgroud) 我曾经使用过一个名为Ulysses的应用程序.这是一种写下降价的好方法.它有它的局限性所以我设法在崇高的文本中安装了几个软件包,并赋予它与Ulysses相同的功能.现在我找不到任何包来做以下事情.我会给出一个简短的场景,因为我不能解释它:
我正在读一篇博文.我选择了所有并点击了副本.在尤利西斯,我会按cmd+alt+v它会问我来自哪里,我会选择from HTML.最终结果是来自网络的相同内容,但格式为markdown.例如,如果博客帖子中有h2Ulysses 的副标题,则将其粘贴为## title
我尝试在Sublime Text中搜索类似的插件,我安装ClipboardCommands和super-awesome-paste.我不记得他们做了什么,但也没有做我需要的.这样的插件存在吗?
我想要两列,一个左侧边栏和主要内容。
我希望侧边栏是固定的(并在需要时滚动)
<div class="is-widescreen">
<div class="columns">
<aside id="main_sidebar" class="column">
<h1>test</h1>
</aside>
<div class="column is-four-fifths">
<div id="editorjs" class="content">
<!-- see the demo for the effect-->
</div>
<button id='save'>save article</button>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在editorjs将包含的内容很多,所以我想要的侧边栏内容不被主部上滚动的影响。
javascript ×3
electron ×2
node.js ×2
bulma ×1
css ×1
dom ×1
ecmascript-6 ×1
git ×1
html ×1
koa ×1
koa-router ×1
koa2 ×1
markdown ×1
npm ×1
npm-scripts ×1
reactjs ×1
selection ×1
sublimetext ×1