如何创建以 HTML 格式存储的博客文章的预览?换句话说,我如何“剪切”HTML,确保标签正确关闭?目前,我正在前端渲染整个内容(使用 react dangerouslySetInnerHTML),然后设置overflow: hidden和height: 150px。我更喜欢一种可以直接剪切 HTML 的方式。这样我就不需要将整个 HTML 流发送到前端;如果我有 10 个博客文章预览,那将是很多访问者甚至看不到的 HTML 发送。
如果我有 HTML(说这是整个博客文章)
<body>
<h1>Test</h1>
<p>This is a long string of text that I may want to cut.. blah blah blah foo bar bar foo bar bar</p>
</body>
Run Code Online (Sandbox Code Playgroud)
尝试对其进行切片(以进行预览)将不起作用,因为标签将变得不匹配:
<body>
<h1>Test</h1>
<p>This is a long string of text <!-- Oops! unclosed tags -->
Run Code Online (Sandbox Code Playgroud)
我真正想要的是这个:
<body>
<h1>Test</h1>
<p>This is a long string of text</p>
</body>
Run Code Online (Sandbox Code Playgroud)
我正在使用 next.js,所以任何 node.js 解决方案都应该可以正常工作。有没有办法做到这一点(例如 next.js 服务器端的库)?或者我只需要自己解析 HTML(服务器端)然后修复未关闭的标签?
我最近发现了jekyll,并想用它制作一个项目登陆页面。我想有一个使用一个主题(例如ubuild)的主页,并有另一个使用不同主题(例如just-the-docs)的文档页面(通过顶部的导航栏访问)。我该怎么做呢?
编辑:我想为此使用 Github Pages。
我正在尝试将所有对象从子文件夹导入python 3.8中的类,并在努力寻找一种方法来这样做。我不想手动导入所有对象,因为要列出的文件太多:
class Foo:
from bar import {
one,
two,
three,
# ...
}
Run Code Online (Sandbox Code Playgroud)
当我使用星号导入所有函数和类(例如from bar import *)时,出现以下错误:
SyntaxError: import * only allowed at module level
Run Code Online (Sandbox Code Playgroud)
另外,我也不希望将所有内容放在子作用域下(例如import bar.package,将所有文件放在的package子包中bar),因为函数在运行时bar依赖于传递self,这意味着必须更改self对self.packageI的所有引用仅使用该类中的所有方法创建另一个文件夹,以便没有单个极长的文件。
所以我想我有三个问题:为什么不允许在一个类中全部导入,如何解决这个问题,还有更好的方法将多个方法拆分为不同的文件吗?
编辑:我看过这篇文章,这是我目前所拥有的,但是我不想使用手动导入所有内容,而是代替了手动导入所有内容*。
编辑2:也许创建一个类的子方法作为包并将其作为self导入是可行的(例如import bar.package as self),但这可能会覆盖默认的self。例如说我有两个文件foo.py和bar.py:
# foo.py
def print_bar(self):
print("bar")
Run Code Online (Sandbox Code Playgroud)
# bar.py
class Test:
import foo as self
def __init__(self):
print("hi")
self.one = …Run Code Online (Sandbox Code Playgroud) 我最近遇到了 PEG 解析器,以及 Guido van Rossum关于 PEG 解析器的文章以及如何构建它们。那篇文章讨论了“PEG”解析器,但在内部它看起来就像一个递归下降解析器(生成器)。我推断 PEG 解析器与生成递归下降解析器有关,但我不确定。
递归下降解析器和 PEG 解析器有什么区别?我什么时候应该使用其中一个?
我制作了一个 sphinx 项目/文档(使用 alabaster 主题),左侧有一个固定的侧边栏(包含 TOC),但有太多内容无法在屏幕上显示。如何使该内容可滚动,同时仍允许右侧(正文)单独滚动?
html ×2
class ×1
css ×1
javascript ×1
jekyll ×1
jekyll-theme ×1
module ×1
next.js ×1
parsing ×1
peg ×1
python ×1
python-3.x ×1
ruby ×1
scroll ×1
server-side ×1