gpt4 book ai didi

bash - 从 GitHub 将源代码转换为 PDF

转载 作者:行者123 更新时间:2023-12-04 12:51:54 24 4
gpt4 key购买 nike

我正在尝试从我在 GitHub 上拥有的特定存储库中获取所有文件并将它们转换为 PDF。我已经阅读并看到了一个例子 here

但是,我仍然对如何执行此操作感到有些困惑。我必须把我所有的文件都变成一个单独的 PDF 文件,然后把它上传到大学的网站上。

我对 UNIX 命令不是很熟悉,我试图执行以下操作:

for i in *.lua; do echo "$i"; echo "---"; cat "$i"; echo ; done > result.pdf

然后我打算把所有的 pdf 文件合并在一起,但我希望有更好的方法来做到这一点。我只专门处理 .lua.md文件扩展名。

我个人相信这可以通过使用一些 UNIX 命令来完成,但如前所述,我对它们并不熟悉。

总而言之,我的主要目标是将位于 Github 存储库中的一系列文件合并为一个 PDF 文件。即使获得多个 PDF 文件也可以,这是最好的做法。甚至一个 .word文件格式足够好。

操作系统 : OSX 或 Windows 7 64 位

最佳答案

我建议查看语法荧光笔。 Pygments具有生成 HTML、RTF 等的能力。如果您选择输出 HTML 文件,那么您可以使用类似 wkhtmltopdf 的工具。将语法突出显示的 HTML 文件转换为 PDF 文件。

或者,Pygments 可以做 LaTeX。如果您熟悉 LaTeX,那么您可以让 Pygments 生成 LaTeX 输出,并使用 pdflatex生成您的 PDF 文件。

你说你在 OS X 上。要安装 Pygments,打开一个终端并输入:

sudo easy_install Pygments

这将安装一个程序 pygmentize您可以使用它来转换代码。

接下来,安装 wkhtmltopdf .

现在,您可以获取一个文件,在语法上突出显示它,然后将其转换为 PDF:
pygmentize -l ruby -f html -O full,style=vim test.rb > test.html
wkhtmltopdf test.html test.pdf

在这里,我展示了 Ruby 脚本的转换。当然,您想使用 -l lua如果您要转换 Lua 脚本。

然后,您可以将这些命令合并到一个递归遍历目录的 shell 脚本中,例如
#!/bin/bash

# Change this to the repository directory
REPOSITORY=/path/to/the/repo

# Iterate over the repository
while read source_file
do
filename=$(basename $source_file)
dir=$(dirname $source_file)

# For each .lua file found, generate an HTML file in /tmp
pygmentize -l lua -f html -O full,style=vim $source_file > /tmp/${filename}.html

# Convert the HTML file to a PDF file in the same directory
# as the .lua file
wkhtmltopdf /tmp/${filename}.html ${dir}/${filename}.pdf

done < <(find $REPOSITORY -type f -iname '*.lua')

把它放在一个名为 convert.sh 的文件中.然后,要运行它,请键入:
chmod +x convert.sh
./convert.sh

关于bash - 从 GitHub 将源代码转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33454865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com