必须钦佩,功能全面小巧的网站文字编辑工具——Editools智能创作者19-2。作为一名软件开发工程师,同时也是优质科技创作领域的作者,今天我向大家推荐这个集实用与美观于一体的网站文字编辑器——Editools。
Editools是一款专为网页设计的精美小巧的文字编辑工具(一个基于JavaScript的工具库),具备所见即所得的编辑功能。只需简单地几个步骤,就能将Editools集成到任何HTML页面中。
如图所示,通过Editools弹窗层实现实时编辑功能。用“小巧而强大”来形容它再适合不过了!
GitHub地址:https://github.com/GetmeUK
Editools特性
Editools是专门用于HTML页面的精美小巧的文字编辑器。
它被设计为:
- 与框架无关的库,不依赖任何JavaScript框架(如jQuery),但可以很好地与之配合使用。
- 灵活的软件包由5个库组成,每个库都可以独立使用。
- 可扩展的软件包易于扩展。
- 小巧完整的编辑器(包括JS、CSS、图像和图标字体)仅有41KB(压缩后为49KB)。
功能简介
Editools具有加粗、斜体、超链接、对齐、列表、表格、图片、视频、代码、撤销、重做、删除等功能:
- 加粗显示
- 斜体显示
- 超链接
- H标题
- 正文
- 有序和无序列表
- 插入表格
- 插入图片
- 视频
以上截图中的功能还远不止这些,如果想要体验Editools的更多丰富功能,可以直接访问DEMO页面。在HTML级别上修改元素内容也是可以的。
通过属性对话框的最后一个选项卡,可以查看所选元素的内部HTML代码并进行直接更新。
使用方法如下:
- 下载JS、CSS和其他关联的项目文件:下载仓库并打开“bild”文件夹,包括预构建的源文件。
- 将文件夹的内容复制到项目适当的位置(例如,“content-tools.min.js”),并将其链接到页面中。
- 复制“/images”文件夹和“icons.woff”字体到与“content-tools.min.css”相同的文件夹中,确保文件结构类似:
<head>
<title>Mypage</title>
<link rel="stylesheet" type="text/css" href="assets/content-tools.min.css">
...
</head>
<body>
...
<script src="assets/content-tools.min.js"></script>
<script src="assets/editor.js"></script>
...
<div data-editable data-name="main-content">
<blockquote>Always code as if the person reading your code is a psychopath, maintaining your code will be violent psychoopath who knows where you live.</blockquote>
<p>John F. Woods</p>
</div>
- 包含一个名为“editor.js”的附加JS文件,其中包含初识编辑器的代码。
- 将data-name属性用于在保存时标识区域(默认情况下使用id属性),在标记可编辑HTML时,常见的误解是将单个元素标记为可编辑。正确的使用方法如下:
<div data-editable data-name="heading">
<h1>Content</h1>
</div>
注意,必须在特定的容器元素内进行标记。
准备CSS
Editools使用CSS类来对齐文本、图像、视频和iframe,您可以在自己的CSS中为这些对齐类定义样式。以下是一个示例:
[data-editable] iframe, [data-editable] image, [data-editable][data-ce-tag=img], [data-editable] img, [data-editable] video {
clear: both;
display: block;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
/* 左对齐 */
[data-editable].align-left {
clear: initial;
float: left;
margin-right: .5em;
}
/* 右对齐 */
[data-editable].align-right {
clear: initial;
float: right;
margin-left: .5em;
}
/* 可编辑区域中文本的对齐样式 */
[data-editable].text-center {
text-align: center;
}
[data-editable].text-left {
text-align: left;
}
[data-editable].text-right {
text-align: right;
}
初始化编辑器
Editools提供了一个编辑器,但在初始化之前,我们需要配置一些事宜:
- 用户能否将CSS样式应用于元素。
- 页面的区域是否可编辑。
- 保存内容的机制。
为此,请将以下代码添加到“editor.js”文件中:
window.addEventListener('load', function() {
var editor;
});
配置样式
就像文字处理程序一样,可以为内容配置一系列预定义的样式。当用户从视口底部的检查器栏中选择标签时,这些标签就会出现在屏幕上。尽管可以将样式设置为适用于所有标签,但仅显式显示适用于标签类型的样式。
在“var editor”下方声明添加以下代码:
ContentTools.StylePalette.add(new ContentTools.Style('thor', 'athor', ['p']));
StylePalette.add方法允许我们向编辑器添加样式列表。每种样式都声明为一个Style实例,该实例使用显示名称、CSS类和可以应用该样式的标签列表。
我们需要添加相关的CSS来支持这种样式, therefore, 在HTML的开头添加以下代码:
<head>
...
<style>
.author {
font-style: italic;
font-weight: bold;
}
</style>
...
</head>
选择可编辑区域
接下来,我们需要初始化编辑器,并让它知道页面上的哪些元素是可编辑的。为此,将以下代码添加到“editor.js”中:
editor = ContentTools.Editor.get();
editor.init('*[data-editable]', 'data-name');
我们使用用于页面可编辑区域的CSS选择器和属性名称(“数据名称”)来初始化编辑器,以告知编辑器元素的哪个属性包含其区域名称。在同一页面中,区域名称必须是唯一的。
保存更改
最后,我们希望在用户保存页面时得到通知,以便我们可以将每个区域的更新内容存储在文件或数据库中。为此,我们需要监听由编辑器触发的保存事件。
在“editor.init”语句之后,添加以下代码:
editor.addEventListener('saved', function(ev) {
var name, payload;
});
当用户保存页面时,可以使用JX将每个区域的内容发送到服务器进行保存。在浏览器中打开页面,寻找左上方的蓝色编辑按钮,然后单击它以开始编辑。
总结
这样一个精美且功能强大的即时编辑器无疑是如此实用,特别是对于内容丰富的网站,如CMS、静态文档网站、博客等内容型网站尤为有用。希望对您有所帮助,Enjoy it!