译注:StaGen是一个功能极其简单的静态站点生成器,因此它非常容易上手,同时它还是用Java 8写的,有兴趣的话可以看下它的源代码。当然我个人还是比较喜欢
Jekyll。
在没有
StaGen之前,我一直都在用RapidWeaver来管理我的网站
WizTools.org。RapidWeaver生成的文本格式真的让人很抓狂,这个软件浪费了我太多时间。StaGen的诞生解决了这些问题。我连夜完成了第一个版本。第二天就把我的网站WizTools.org给迁移到StatGen上面了。StaGen的设计目标就是希望能让只有少数几个页面的简单站点的开发和管理变得更容易一些。出于这个的考虑,我选择了markdown作为文档格式,StringTemplate作为内容模板,并使用JSON来存储配置信息。
目录结构
StaGen管理的网站项目需要遵循如下的目录结构:
.
`-- content
| |-- index.md
| |-- other.md
`-- config
| |-- other.json
|-- master.json
`-- static
| |-- my.css
`-- template
| |-- index.st
| |-- other.st
各个文件夹的作用如下:
content: 这个文件夹用来存储markdown格式的文档。生成的网站中会为每篇文章都单独生成一个HTML文件。content下面的子目录会被StaGen忽略。
config: 每个页面都可以有一些单独的配置信息。配置信息是用JSON格式来存储的。文件名必须和content中的文件名匹配。
master.json:这是主配置文件。里面存储了网站全局的配置信息。
static: 网站中用到的静态资源文件,比如.js,.css以及图片等。
template: StringTemplate 4模板会放在这个目录下。
StaGen是如何工作的
StaGen引擎处理的顺序是这样的:
1. 加载主配置文件master.json
2. 将静态资源文件拷贝到目标文件夹(网站生成的时候会自动创建一个叫target的文件夹)
3. 对于content目录下的每一个markdown文件:
加载对应的配置信息(下节中会有介绍)
将配置信息应用到对应的模板上,并把结果的HTML文件输出到目标文件夹
加载配置
配置信息是一个JSON类型的map:
{
"title": "My Site Title",
"activities": ["Dance", "Jump", "Shout"]
}
注意,key必须是字符串,值可以是任意类型的。
前面已经提到过,站点的全局配置是master.json。StaGen在一开始的时候便会加载这个配置文件。当处理到每一篇文章时(比如index.md),StaGen会尝试从config/index.json中加载对应的配置信息。它会覆盖掉主配置文件中的配置信息。也就是说,如果你已经在master.json和config/index.json中都定义了标题,当渲染index.md时,使用的是config/index.json里面的配置。如果config/index.json文件不存在,也无所谓——那就用master.json里面的配置好了。
模板渲染
StaGen使用的是StringTemplate作为模板。下面是一个简单的模板,它用到了前面提到的JSON配置信息:
<html>
...
<title>$titleprebuffer_2lt;/title>
...
[list=1]
$activities: {activity|
[*]$activityprebuffer_2lt;/li>
}$
[/list]
...
$_content$
...
</html>
$_content$就是markdown文件渲染出来的HTML。
模板渲染遵循如下的规则:
1. 尝试按文章的名字加载模板,比如content.md,StaGen引擎会加载other.st。
2. 如果没有指定专门的模板,则使用默认的index.st模板。因此你要确保你的项目中确实有一个index.st模板。
模板内嵌套模板
你可以在.st文件里再包含一个别的模板,比如你有一个ga.st(ga->Google Analytics)文件,要引入到主模板文件index.st中。在index.st里面你可以这么写:
$ga()$
index.st里面会包含ga.st渲染后的内容。需要注意的是,index.st中的所有变量对引入的模板都是可见的。
StaGen的使用
StaGen是以一个jar包的形式发布的。想获取这个工具的帮助信息的话:
java -jar ~/stagen-VER-full.jar -h
从项目里生成站点:
java -jar ~/stagen-VER-full.jar gen
上述命令将会在target目录中生成一个静态网站。
想清除target目录的话:
java -jar ~/stagen-VER-full.jar clean
如果你刚开始用StaGen,想创建一个新的项目结构:
java -jar ~/stagen-VER-full.jar init
总结
StaGen故意设计得非常简单。我自己不会用它来管理太复杂的站点。它不像别的静态网站生成器那样能支持博客或者主题。我相信,StaGen不支持这些特性,这也正是它的过人之处。
原创文章转载请注明出处:
http://it.deepinmind.com
英文原文链接
分享到:
相关推荐
exp :RNA-Seq基因表达谱cna :CNV配置文件meth :DNA甲基化谱clinical :临床矩阵(7个变量- time (总生存天数), status (事件状态), age , gender , stageM , stageN , stageT )2.获取多
通常,"stagen"在电子领域可能会与阶段或者步骤有关,但具体含义需要更多上下文来确定。 4. **btg_128128-51驱动**:这里的"51"可能指的是51系列单片机,如常用的8051,这是微控制器的一种,常用于控制LCD显示。...
内容概要:本文深入探讨了微生物表面层次(S-layer)蛋白质的结构和功能,尤其关注其在古菌和细菌中的角色。文中详细介绍了S层结构特征,如形成二維晶格的方式以及与其他细胞外膜成分的相互作用机制。对于S层的具体生物学作用——从保护细胞到适应环境变化——都有详尽论述,并且对不同种类微生物S层的特异性进行了分类比较。此外,还提到了当前的研究热点和潜在的应用领域。 适合人群:生物学家、微生物学家及其他生命科学研究人员;对细胞生物学特别是细胞壁研究感兴趣的学生及专业人士。 使用场景及目标:作为参考资料帮助科学家理解S层的物理化学属性,为实验设计提供思路,推动相关领域学术交流与发展;也为寻找新的工业材料和技术提供了理论依据。 阅读建议:鉴于论文的技术性强且内容丰富复杂,在初读时可以先把握各章节的大致意义,后续针对个人感兴趣的专题进一步深入了解。由于涉及到大量的分子生物学知识,请确保读者有良好的背景基础。同时推荐配合最新的科研报道一同学习以获取最新进展。
python爬虫,一个简单的Python爬虫示例,使用了requests库来发送HTTP请求,以及BeautifulSoup库来解析HTML页面。这个示例将从一个简单的网页中获取标题并打印出来。
内容概要:本文介绍了一种使用PyTorch构建的深度学习模型,该模型结合了一个包含一个隐藏层的全连接神经网络(FCN)和一个卷积神经网络(CNN)。模型用于解决CIFAR-10数据集中猫狗图片的二分类问题。文章详细描述了从数据预处理到模型架构设计、融合方式选择、损失函数设定以及训练和测试流程。实验证明,模型的有效性和融合的优势得到了显著体现。 适用人群:面向具有一定机器学习和Python编程基础的研究人员和技术爱好者。 使用场景及目标:本项目的目的是提供一种可行的猫狗分类解决方案,同时帮助研究者深入了解两类网络的工作机制及其协作的可能性。 其他说明:文中不仅展示了完整的代码片段,还讨论了多种改进方向如结构优化、预处理策略、超参数调节、引入正则化技术等。 本项目适合有兴趣探究全连接网路与卷积网络结合使用的从业者。无论是初学者想要加深对这两类基本神经网络的理解还是希望找到新的切入点做相关研究的专业人士都可以从中受益。 此资源主要用于指导如何用Python(借助于PyTorch框架)实现针对特定分类任务设计的人工智能系统。它强调了实验的设计细节和对关键组件的选择与调优。 此外,作者还在最后探讨了多个可用于改善现有成果的方法,鼓励大家持续关注并试验不同的改进措施来提升模型性能。
简传1.4.1 windows安装包,支持局域网内文件和文本的传输,可以跨操作系统
地面无线电台(站)设置使用申请表.xlsx
【Python】Python爬虫实战--小猪短租爬虫_pgj
comsol模型,变压器匝间短路5%,电磁场,二维模型,瞬态 包括电流变化曲线,正常与匝短后的绕组上的轴向磁密和辐向磁密波形与分布,铁心的磁密变化
文中使用了逻辑回归模型对病人如约就诊与相关变量进行分析,结果发现该数据对逻辑回归模型的拟合程度很差,需要在后续使用其他模型进行进一步的拟合。因此,**该文章未能成功探索到相关变量和如约就诊之间的关系,不能提供准确的参考,可以作为小白的逻辑回归模型流程参照使用**。且待后续更新(课程和考试繁忙,学习进度较为缓慢,尚在学习中,但一定会进行补充)
QQ空间全能王软件易语言源码【赠送 易语言模块+易语言教程】 一、QQ空间全能王软件易语言源码 二、QQ空间全能王软件易语言模块 三、赠送2套易语言教程 1、价值150易语言视频教程光盘 2、价值900E锦学院易语言POST+JS实战,仅供学习研究 QQ空间全能王软件易语言源码【赠送 易语言模块+易语言教程】
2023-04-06-项目笔记-第三百六十八阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.366局变量的作用域_366- 2025-01-04
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
java面向对象程序设计实验报告
Java学生信息管理系统(MySQL版)源码+数据库+文档说明.zip,含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 Java学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zipJava学生信息管理系统(MySQL版)源码+数据库+文档说明.zi
多时间尺度滚动优化的多能源微网双层调度模型 参考文档:《Collaborative Autonomous Optimization of Interconnected Multi-Energy Systems with Two-Stage Transactive Control Framework》 代码主要做的是一个多能源微网的优化调度问题,首先对于下层多能源微网模型,考虑以其最小化运行成本为目标函数,通过多时间尺度滚动优化求解其最优调度策略,对于上层模型,考虑运营商以最小化运营成本为目标函数,同时考虑变压器过载等问题,构建了一个两阶段优化模型,通过互补松弛条件以及KKT条件,对模型进行了化简求解。
内容概要:《Multimodal Deep Learning.pdf》是一本深入探讨多模态深度学习的专业书籍,涵盖自然语言处理(NLP)和计算机视觉(CV)领域最新的研究进展与应用实例。本书按照时间顺序介绍了该领域的演进过程和技术背景,并详细讲解了将不同模态数据转换或融合的技术框架,如图像到文本、文本到图像、支持视觉的语言模型和支持语言的视觉模型等。同时书中也对未来的发展趋势进行了展望并提出了当前技术存在的挑战及改进方向,最后强调了几款最新发布的架构的重要性以及向视频扩展的可能性。 适合人群:对自然语言处理、计算机视觉有浓厚兴趣的研究人员、工程师或者学生,尤其是从事相关技术开发工作的读者。 使用场景及目标:帮助用户了解多模态深度学习的核心原理;为开发者提供实用的参考工具;激发新的科研创意和技术突破。 阅读建议:鉴于这本书籍内容丰富且前沿,在阅读过程中应当关注每一章节所涉及的基本概念和具体案例之间的联系,结合实际应用场景理解各部分内容,并尝试复现文中提到的关键实验以加强记忆。此外,随着该领域快速发展,鼓励持续追踪最新的文献报道来补充书内的知识点。
matlab 滤波器设计,基于matlab的模拟滤波器和数字滤波器设计,其中数字滤波器包扩IIR和FIR的低通、高通、带通、带阻四大类型,模拟滤波器包括巴特沃斯(Butterworth)和切比雪夫(Chebyshev)算法下的低通、高通、带通、带阻四种类型。
关键词:一致性算法;直流微电网;下垂控制;分布式二次控制;电压电流恢复与均分;非线性负载;MATLAB Simulink;顶刊复现,有意者加好友;设有粉丝价,本模型不,运行时间较长耐心等待 主题:提出了一种新的基于一致性算法的直流微电网均流和均压二级控制方案,该微电网由分布式电源、动态RLC和非线性ZIE(恒阻抗、恒电流和指数型)负载组成。 分布式二级控制器位于初级电压控制层(下垂控制层)之上,并利用通过与邻居通信来计算必要的控制动作。 除了表明在稳定状态下总是能达到预期的目标之外,还推导了恒功率负载(即零指数负载)平衡点存在和唯一的充分条件。 该控制方案仅依赖于本地信息,便于即插即用。 最后提供了电压稳定性分析,并通过仿真说明了该方案的优秀性能和鲁棒性。
管理工程系学生周五和周六晚不住校申请表.doc