问题标签 [static-site]

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 投票
5 回答
1610 浏览

asp.net-mvc - Dump my MVC site to static files

I want to build a simple site with MVC but then render the "pages" and corresponding "assets" (js, css, images, etc) to what one might call a "static site".

In other words, I don't want to deploy to an IIS server that supports MVC. I simply want to build the site in MVC then somehow parse those pages into static html/css/etc files and upload the site to a regular LAMP host.

Is there an easy way to automate this? NuGet package? Binary? MVC extension like maybe a handler add-on that can render out the static site in a single pass?

0 投票
1 回答
2264 浏览

jekyll - Jekyll 无法生成任何东西

当我运行 Jekyll 时,它不会生成任何东西。我看到的输出:

_site目录是空的。有没有办法调试 Jekyll?我更改了几个文件,但在_site.

0 投票
2 回答
773 浏览

jquery - 使用 Tapir 的静态搜索结果

对 Web 开发和 Jekyll 非常陌生,并尝试在我的网站中实现TapirGo以允许静态搜索。似乎他们的 Jquery 插件在我的网站上处于活动状态(当手动将参数 ?query=example 添加到我的网站时,加载我的网站时似乎提到了貘),但我终生无法弄清楚如何实际上让结果出现在任何有意义的地方。

理想情况下,我会在我的网站上有一个表格,它会显示结果列表并允许访问者单击一个。

无论如何,这是我的(主要是复制和粘贴)代码:

提前感谢您的帮助!

0 投票
1 回答
987 浏览

jekyll - Jekyll 不会从深度嵌套的文件夹中生成文件

我正在尝试生成一个包含 javadoc 的站点。

结构如下所示:

在 _site 文件夹中,我只得到

当我在 com 目录中添加一个虚拟文件时

_site 文件夹现在看起来像这样

如何让 Jekyll 将这些深度嵌套的文件复制到 _site 目录,而不必将虚拟文件放在中间目录中?

我在 Win7-x64 上使用 Ruby 1.9.1 和 Jekyll 0.11.2。

0 投票
1 回答
2938 浏览

django - 为静态站点设置密码保护的最简单方法?

我有一个静态网站。

我想要最简单的密码保护目录的方法,带有用于添加/删除用户的基本管理 UI。我将拥有如此少的用户,以至于我不关心性能。

我不在乎它是 PHP 还是 Django 或其他什么,我只想要一个完整的软件包。

  • Apache 基本身份验证不好,因为您无法注销。也没有用于添加用户的 UI。

  • 我尝试将所有内容都抛在 Django auth 后面并通过 Django 提供文件。但是,Chrome 将我所有的 text/css 标头都视为 text/plain,因此我没有显示任何样式表。

  • 我无法在我的服务器上使用 mod_xsendfile,因为我无法重新配置 Apache 来添加新模块。无论如何,我认为这种方法是矫枉过正的。

是否有一个代码包可以为静态站点实现基本管理员身份验证?

0 投票
3 回答
1112 浏览

html - 谁能指出一个模块化的静态 HTML 创作/预处理框架,一个 SASS 吗?或者更准确地说,包含包含的 HAML?

我发现自己在这里和那里做了很多工作(为我自己和合同)来开发小型静态网站,在这些网站上使用 PHP 框架或 Rails 等动态工具将完全没有用,而且手头很重,而且浪费资源。

我正在寻找一种创作静态 HTML 网站的方法,该网站引入了一定程度的模块化和语法简化;澄清一下,类似于 SASS for HTML 的东西具有快速的语法,并且允许将常见的模式挤出到单独的文件中。

我知道 HAML。我希望 HAML 成为我的解决方案。但在我所有的阅读中,HAML 似乎没有与用于内联外部文件内容的 SASS 样式的 include 指令等效。此外,HAML 似乎将自己标榜为模板引擎,而不是 SASS 标榜自己的创作工具。它似乎希望成为 ERB 的替代品并用于 Rails 项目,而不是用作模块化 HTML 预处理器。

我知道我可以通过将少量 Ruby 和内联评估绑定到 HAML 来推出自己的解决方案,但感觉有点便宜和肮脏,因为这并不是 HAML “想要”做的。这不是我反对的解决方案,但如果有一个无配置、轻量级的选项,基本上表现得像 SASS,但对于 HTML,那么我更愿意走那条路。

0 投票
7 回答
14161 浏览

apache - 从命令行在任何目录中启动 apache 服务器

我希望能够从命令行启动 apache 服务器,输入类似apache site-folderapache . --port=2000

这应该读取和使用.htaccess文件。

我知道python -m SimpleHTTPServer并且它接近我需要的东西,但不完全是。

理想的解决方案:

  1. 为 apache 本身贡献一个很棒的命令行界面
  2. 编写一个简单的命令行工具来包装/包含 apache(或其他东西)
  3. 链接到 apache 的现有 cli 上的文档

我只想打字command <Directory> --port=8000 --other-options

命令名称也可以是pache

在某些时候,我可能想在生产中使用它。将进程发送到后台应该很容易,然后停止该实例或所有实例,就像永远一样

相关链接:http ://httpd.apache.org/docs/2.4/programs/httpd.html

任何人都应该只有一个命令来安装脚本以立即使用

0 投票
1 回答
477 浏览

.htaccess - 通过单独的文件夹和 index.html 文件中的漂亮 URL 或 .htaccess 中的规则

我有 nanoc 生成的静态站点(html + css)。它在 Apache 下工作。

我想在最后使用漂亮的 url 而不是 .html 后缀。像这样:

  • http://domain.ru
  • http://domain.ru/page/page1/
  • http://domain.ru/page/page2/

代替

  • http://domain.ru/index.html
  • http://domain.ru/page/page1.html
  • http://domain.ru/page/page2.html

因此,第一种方法是创建名为 page1 和 page2 的单独文件夹,并放置在 index.html 具有相应内容的文件中。当客户请求时:

http://domain.ru/page/page1/ 加载文件 page1/index.html

第二种方法是拥有这样的文件结构:

page(文件夹)
- page1.html(文件)
- page2.html(文件)

并为站点根目录中的 .htaccess 文件创建规则:

RewriteCond %{SCRIPT_FILENAME}上的
RewriteEngine !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/$ /$1.html

那么,问题是哪种方式更好?使用重写规则或陷阱可能会产生一些额外的成本吗?对于静态生成的网站,可能有一些针对此问题的良好做法。

PS:我以任何方式使用 .htaccess 文件:我需要打开 utf-8 编码,启用 404 错误处理,禁止浏览文件夹

感谢和抱歉英语不好:)

0 投票
4 回答
748 浏览

javascript - getBlock('meta') 如何在 DocPad 中工作?

我正在将网站从不同的站点生成器移动到DocPad,并试图了解getBlock('meta')功能。弄清楚getBlock('scripts')getBlock('styles')非常容易,因为我只需要将单个资源位置传递给数组中的.add方法,每个位置占用一个空间。另一方面,生成元标记似乎必须稍微复杂一些,因为每个标记都有两个组件:名称和值。

我的问题是,如何将元标记名称和值传递给getBlock('meta').add()以便它为我创建一些元标记?

另外,我注意到getBlock('meta')默认创建一个标签:

我不想在我的标记中有。我完全赞成将令人敬畏的 DocPad 项目归功于它,但是我更喜欢以不同的方式和在不同的位置进行。如何防止生成该标签?

谢谢你。

0 投票
1 回答
1105 浏览

ruby - 将 Heroku 用于静态站点:资产不会显示

我刚刚使用本教程向 Heroku 加载了一个静态应用程序,一切正常,除了我的图像没有显示。当同一个站点作为纯静态站点(不是通过 Heroku)托管在我自己的服务器上时,所有资产都可以毫无问题地加载。

目前,我的存储库中有一个 Gemfile、Gemfile.lock、app.rb、config.ru 和 public(静态站点目录),我通过它们加载到 Herokugit push heroku master以推送到 Heroku。

我的图像在 public/img 中,甚至直接从 html 引用的资产也没有显示出来。当我在 Chrome 中使用 firebug lite 检查资产目录时,似乎图像文件在那里,但它们似乎没有图像数据(据我所知)。

我没有更多的 ruby​​/rails 文件。我应该在某个地方有一个 production.rb 文件吗?我错过了什么吗?

目前,我在 Heroku 上的设置是免费包。我是否需要升级到付费套餐才能查看我的资产(我只有 2MB 的资产)?我尝试在“public”目录中创建一个“assets”目录并将 img 目录放在那里,但仍然没有运气。

这是我的 config.ru