Hugo中创建和管理PhotoSwipe相册的工具
项目描述
HugoPhotoSwipe
HugoPhotoSwipe是一个命令行应用程序,用于在使用Hugo静态网站生成器时轻松创建和管理PhotoSwipe相册。
有用链接
为什么?
我使用Hugo创建了我的个人网站,因此所有源文档都创建为Markdown文件。我想要在网站上添加相册,使用PhotoSwipe查看器。我还想轻松设置照片描述,快速更新相册以反映照片更改,并自动生成响应式图片大小和缩略图。HugoPhotoSwipe使所有这些变得容易实现。
有关我制作此工具的动机的更多信息,请参阅我的博客文章 这里。
如何?
PhotoSwipe需要一些JavaScript和特定的HTML格式才能工作,而Hugo通常与Markdown文件一起使用。因此,该程序基于Hugo 短代码 创建一个Markdown文件,供Hugo使用。然后使用这些短代码创建PhotoSwipe所需的HTML代码。请参阅docs
目录中的短代码。
安装
HugoPhotoSwipe可在PyPI上获得,您可以使用pip轻松安装它
$ pip install hugophotoswipe
安装后,您应该有一个名为hps
的命令行程序。尝试运行hps -V
以进行检查。
使用方法
这是一个简要概述。有关完整描述,请参阅 Wiki 。
为HugoPhotoSwipe创建一个新目录并切换到该目录。例如
$ mkdir hugophotos
$ cd hugophotos
接下来,使用以下命令初始化HugoPhotoSwipe配置:
$ hps init
这会创建一个名为hugophotoswipe.yml
的新HugoPhotoSwipe配置文件。这是一个YAML文件。在此配置文件中,您需要设置至少markdown_dir
和output_dir
变量。这两个变量分别对应于需要放置Markdown文件的目录和需要放置处理后的照片的目录。您还可以设置url_prefix
变量,该变量将添加到照片文件路径之前。
使用以下命令创建新相册:
$ hps new
HugoPhotoSwipe将要求您输入新相册的名称,并为您创建一个具有该名称的目录。尽量使名称简短,它们不是相册的最终标题。名称中的空格将自动替换为下划线。在新目录中,您将找到一个album.yml
文件和一个空的photos
目录。
此时,您应该在photos
目录中放置一些照片,并在album.yml
文件中设置相册的标题字段。您还可以设置相册日期、版权声明和封面图片的文件名。您放置在properties
行下的键/值对将被放置在Markdown文件的序言中,因此您可以在Hugo布局中使用它们。例如,您可能想添加一个国家字段、相机详细信息等。
在主目录(其中包含hugophotoswipe.yml
文件),您现在可以运行
$ hps update
来创建Markdown文件、调整大小的照片,并将更新album.yml
文件。HugoPhotoSwipe创建大尺寸和小尺寸的照片以及使用SmartCrop.py创建的缩略图。
如果您现在打开album.yml
文件,您会注意到照片和哈希字段的扩展。在photos:
下,将列出目录中的所有照片,对于每张照片都有一个file
、name
、alt
和caption
字段。最后三个字段可以由您编辑。这样做对于您照片的SEO可能很有用,但不是必需的。album.yml
文件中的hashes
字段用于检测照片的变化,您不需要编辑它。
最后,如果您想重新生成所有的Markdown和调整大小的照片,您始终可以使用
$ hps clean
来清理所有内容。当然,这将不会触及原始照片文件。
注意
我发现使用SmartCrop.js比使用SmartCrop.py创建的缩略图稍微好一些。因此,在hugophotoswipe.yml
文件中,您可以将选项use_smartcrop_js
设置为True
,并将smartcrop_js_path
设置为smartcrop-cli.js实用程序的路径。这确保缩略图是用SmartCrop.js创建的。
HugoPhotoSwipe是免费软件,根据GNU通用公共许可证(GPLv3)或更高版本(GPLv3)授权。版权所有G.J.J. van den Burg,保留所有权利。
如果您发现问题或想提出建议,请通过在GitHub上打开问题与我联系。不要犹豫,您正在帮助使此项目变得更好!如果您更喜欢电子邮件,您可以通过gertjanvandenburg at gmail dot com
联系我。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。