我将在我的网站上发布一个博客。通常,我会在文字处理器中写入相当长的条目。我的网站具有自定义的html和css标记-例如,-div class =“ blog_post_para”-。
我将文本转储到.txt文档中(完成后将其另存为.html),但是将标签手动添加到每个段落和标题将非常缓慢且乏味。
有没有可用的工具可以自动在段落的开头和结尾处使用“ div”标签格式化段落。对于段p和/ p>标记也是如此。
我不想使用Dreamweaver之类的IDE。我只想格式化.txt文档或另存为.html的文本文档中的代码格式。
我可以将文字处理程序文档输出到html,但是所有样式都是内联的,并且它们与我网站上的自定义样式不匹配,因为文字处理程序不知道其名称。默认样式不起作用-我有自己的自定义CSS类。
还必须用#39代替撇号;并用破折号-
我打算以编程方式(在Python中)进行此操作,这可能是最自定义的解决方案,但需要一些时间。
有这样的工具吗?
答案 0 :(得分:2)
既然这最终显示在网页上,为什么不使用JavaScript?一个非常简单的功能可以将纯文本转换为格式正确的标签,或者您想要的其他任何内容。例如:
function contentToHtml(text) {
return text
.split('\n\n')
.map(paragraph => `<p>${paragraph}</p>`)
.join('')
}
此功能假定您在分隔段落时两次按Enter键。它将接受您的文本并将每个段落包装在<p>
标记中。
答案 1 :(得分:1)
您可能想研究Jekyll,它是一个静态网站生成器,我认为它非常适合您的要求,尤其是在发布博客时。
作为奖励,它与Github Pages很好地集成在一起,因此您可以免费托管。
https://help.github.com/en/articles/using-jekyll-as-a-static-site-generator-with-github-pages
答案 2 :(得分:1)
另一个JavaScript解决方案(点击“确定”):
(function(){
let inp = document.getElementById('input');
let res = document.getElementById('result');
let ok = document.getElementById('ok');
ok.addEventListener('click', function(){
let open = document.getElementById('open').value;
let close = document.getElementById('close').value;
let str = inp.value;
// The main magic is going here: .replace('something', 'with smth else')
str = str.replace(/^(.)/gm, open + '$1') //Match any non-empty (.) new line ^
.replace(/(.)$/gm, '$1' + close); // Any non-empty (.) line ending $.
res.value = str;
});
})();
*{margin: 0;}
#input, #result {
display: block;
border: 3px solid orange;
width: 500px; height: 80px;
margin: 5px; outline: none;
}
#ok {
padding: 2px 50px;
outline: none;
cursor: pointer;
margin: 0 5px;
}
#open, #close {
width: 200px; padding: 3px;
border: 3px solid orange;
margin: 5px; outline: none;
}
<input id="open" placeholder="Beginning tag..." value="<div>">
<input id="close" placeholder="End" value="</div>">
<textarea id="input" placeholder="Input Text...">Test
Test
Test</textarea>
<button id="ok">OK</button>
<textarea id="result"></textarea>
要自由修改此示例并替换任何文本部分,您必须了解正则表达式。会有所帮助: