问题标签 [static-generator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
330 浏览

html - How to exclude subdirectory in Jekyll config

I know that this is a major problem, and there is a million topics about this but nowhere i can't find how to exclude an subfolder from jekyll structure. I've tried all possible configurations and even one of them is not working :(

etc. Can anybody help? Please don't suggest to add this to .gitignore file bc this is not a solution of this problem. Cheers.

0 投票
1 回答
568 浏览

amazon-web-services - 我需要有关这种部分无服务器架构设计的反馈

带有反应前端的半无服务器博客

我想利用 AWS 技术在 AWS 上的 nodeJS 中托管一个可扩展的博客或此类应用程序。这里的想法是拥有一个小型 EC2 服务器,它不负责为网站提供服务,而只负责运行 CMS/管理面板。虽然这些操作也可以是无服务器的,但我认为拥有一个专用的小型 VM EC2 实例可能会更高效,并且可以更好地与现有框架等配合使用。

在我上面的图表中,您可以看到有两种类型的用户audiencesadmin/writers. 管理员 CRUD 操作也会导致 lambda 运行。Lambda 在 Admin 更改后生成静态站点,并将其传送到 S3。用户被定向到托管在 S3 中的静态站点。只有管​​理员/作者可以访问网站的服务器连接部分。

我认为对于一个可扩展且相对便宜的网站来说,这是一个很好的设计,只要面向用户的一面都是静态的。对此的替代方案是 CDN,但随后我必须处理缓存失效问题、更新速度较慢的站点和更大的服务器。

这对我来说似乎是双赢的。反馈?

0 投票
2 回答
99 浏览

reactjs - 从“main”导出必须是返回 HTML 字符串的函数

我正在关注这篇关于静态站点生成器https://css-tricks.com/css-modules-part-3-react/的文章中的每一步。我从那篇文章中唯一改变的是 .babelrc 的设置。在预设上,我使用 es2015 而不是 es2016,它看起来像这样

.babelrc

在我收到以下错误

我做错了什么?

0 投票
2 回答
731 浏览

html - 如何为 Hugo 中的一种元素添加默认 CSS 类?

我正在修改为 Hugo 找到的主题,我想知道如何在生成的 HTML 代码中的表中添加一个 css 类。我想使用一个 css 框架,我想如果表格有class="u-full-width",我知道我可以编辑 css 代码,但我认为必须有一个聪明的方法。

自动将类属性添加到 HTML 生成代码中的每个表的东西。

0 投票
1 回答
1410 浏览

wordpress - Wordpress REST API 获取完整的站点地图

我正在尝试静态生成一个 WordPress 网站,这意味着拥有网站中每个 url 的列表,例如

我目前正在加载我在以下文档中找到的三个 API 端点: https ://developer.wordpress.org/rest-api/reference/

但这仍然没有涵盖网站中的所有页面......如何通过 REST API 获取网站的所有页面,包括标签等?(不使用插件!)

奖励积分:如果您有解决以下冲突的建议:

真的应该是:

这样静态生成就不会丢失页面!

0 投票
1 回答
2606 浏览

angular - Angular Universal SSR TransferState 只有第一页数据可用

我使用 TransferState API 创建了一个 ApiService 来缓存 wordpress 中的数据:

然后我用它来获取数据:

这很好用,并且在运行时,第一次调用 API,然后总是缓存第二次。

静态生成时:

/index.html

/posts/index.html

据我了解,原因是因为你登陆了一个真正的静态 index.html 文件,其中包含导航时的所有后续页面都没有加载 .html 文件,它们实际上是 html5 路由/帖子。

所以问题是,如何让 TransferState 缓存使用静态生成的 /posts/index.html 文件?

潜在的解决方案:

  • 预先加载所有数据(有效,但每个页面为 1.1MB)
  • 将数据放入可以通过ajax加载的静态文件
  • 禁用 html5 路由,因此用户使用正确的脚本标签点击静态 .html 文件
  • 一些无证的角度解决方案?

静态生成的演示:

https://kmturley.github.io/angular-universal-wordpress-cms/frontend/dist/browser/

静态生成源:

https://github.com/kmturley/angular-universal-wordpress-cms/tree/gh-pages/frontend/dist/browser

完整的代码库在这里:

https://github.com/kmturley/angular-universal-wordpress-cms

0 投票
3 回答
697 浏览

python - Pelican -- 'articles_page' 未定义

我已经为 Pelican 创建了自己的主题,并且已经使用它来构建我的网站已有一段时间了。我决定重新开始写博客,所以我现在才向网站添加博客功能。

我创建了自己的blog.html模板,以我想要的方式呈现内容。我首先从 Pelican 附带的“简单”主题中复制和粘贴代码来帮助我开始,但即使它没有改变,我在'articles_page' is undefined尝试构建时也会遇到错误。

article_page变量集从哪里来?我尝试添加到我的pelicanconf.py文件中,但没有帮助。

0 投票
0 回答
65 浏览

javascript - CSS 和 JavaScript:如何创建受渲染高度或 innerText 长度限制的 DOM 子树?

我有一个静态生成的网站。我使用的工具不支持引导段落,即使支持,我也不想浏览所有现有的标记页面并划分引导部分。

因此,我最终将长帖子堆叠在彼此下方。

我想根据内容自动创建前导部分。

我正在寻找类似的东西:

到目前为止,我已经尝试过 CSS 方法:

然而,这有点盲目——元素有时包含很长的文本,例如数百行的一些日志。如果我减少*s 的数量,那么有时帖子会变得太短 - 例如,如果开头是一个列表。

我可以简单地使用 CSS 将帖子剪切到某个高度。但问题是 DOM 仍然很大,而较慢的设备在渲染它时会遇到问题。

理想情况下,我想减少帖子的 DOM,使其包含一定长度的文本,或者理想情况下,渲染到一定高度。

关于减少 DOM:CSS 中是否有一些可用的递归功能?否则,它涉及到递归到 DOM、添加元素并观察innerText增长。

关于观察高度增长:我知道的方式会从元素中删除,在每一步渲染它,并在达到某个阈值display: none时停止。height那是更糟糕的表现。有什么方法可以“虚拟”渲染(在后台)并在计算时渲染到显示器?

或者,如果有任何更好的方法,我欢迎任何建议。谢谢!

编辑:我找到了关于:nth-line,请看这里,所以我会看看。

这可能很方便:如何在渲染之前获取组件的大小(高度/宽度)?

0 投票
1 回答
291 浏览

static-site - 哪个静态站点生成器可以仅通过迭代图像的资产目录(没有任何内容格式(例如 MD)文件)来生成页面?

我正在考虑发布一个摄影博客。

通常,静态站点生成器基于 .MD 文件和放置在资产目录中的链接图像生成站点页面。

我正在寻找一个静态站点生成器,它可以生成所有站点页面,而无需任何 .MD 文件。

例如,

我设置了以下图片资产目录:

静态站点生成器将生成:

(当然,静态站点生成器将使用预先设计的 HTML 和 CSS 来创建页面。)

只需复制到预期目录即可添加新照片。此外,可以创建新目录,例如另一个“SanFrancisco”目录。

有谁知道哪个静态站点生成器可以迭代资产目录中的所有照片来生成页面?

我熟悉 Java JBake 和 Rust Zola/Tera。这些库是否满足我的需求?

0 投票
2 回答
608 浏览

javascript - React 事件处理程序未在 Docusaurus 页面上执行

概述

在我的自定义 Docusaurus 页面中,单击时不会执行简单的按钮事件处理程序。该文件采用 React 组件的形式,这是 Docusaurus 页面的规范。

我做了什么

1) 我使用 docusaurus-init 设置我的 Docusaurus 应用程序,正如 Docusaurus 的 GitHub 页面上所宣传的那样(参见https://www.npmjs.com/package/docusaurus-init

2)我添加了一个自定义页面,如此处所述https://docusaurus.io/docs/en/custom-pages。即,我在文件夹中添加了一个 JS 文件pages/

自定义页面代码

这是页面的全部代码。React 组件中的代码是从文档中的 React 示例复制而来的。我console.log在处理程序中添加了语句。

我期望的输出

应该会弹出一个警报,并且输出应该出现在控制台中。因为event.preventDefault(),页面不应该被刷新。

怎么了

输入字段和按钮显示得很好。我在输入字段中输入一些文本并点击提交。输入字段变为空白,没有警报,控制台中没有输出(无论是在客户端还是在服务器上)。似乎发生了刷新,这event.preventDefault()显然并没有阻止。