老实说,我不清楚这里的语义.它们都是关于代码+历史单元的副本/变体,但过去我不确定我能说什么.这个逻辑结构是在某处解释的吗?
我希望能够在Git尝试合并它们之前调用一些文件的预处理,并对合并后的结果进行后处理.这里的一般想法是一些文件很难按原样自动合并,但可以转换为更容易处理的形式.这是我的具体用例:
我有一个大多数不是非常敏感的数据库.在该存储库中,我在一个名为的文件中有一些加密的敏感数据sensitive.pgp.我喜欢这种安排,因为我不必相信我的存储库是安全管理的,我只需要相信加密和密码.当然,Git不可能合并加密文本,因此如果sensitive.pgp同时修改两个签出,则无法合并 - 即使明文的更改很容易分开.手动工作流程如下:
sensitive.pgp检测到合并冲突.sensitive.pgp.我想告诉Git在尝试合并之前应用我的预处理和后处理,因此它可以自动处理.我可以想象许多具有相同通用模式的其他场景:几乎任何时候你都有一个带有类似文本的底层结构的压缩文件格式(例如PDF,OpenOffice,Word).
有什么建议?
Pandoc 可以轻松地将相同的源文件渲染为 html 或 LaTeX,然后再渲染为 pdf。在许多情况下,我想根据使用的后端使用同一图像文件的不同版本:当原始“图像”是矢量图,可能包含文本(例如 PostScript、PDF,也许是 SVG)时,我想使用该版本生成 LaTeX 和 PDF,因此不会降低质量。但是浏览器通常不会很好地呈现这些,所以我想在生成 HTML 时生成和使用光栅(例如 PNG)图像。
有没有办法在 Pandoc 中做到这一点?我希望“正常工作”类似于\includegraphics{}LaTeX 宏,如果您提供不带扩展名的文件名,它会识别与该词干匹配的所有图像文件,并应用一些启发式方法来选择最佳选项。
我正在尝试做这样的事情:
* Define some functions
#+begin_src python :noweb_ref defs
def f1(a,b,c):
return True
def f2(d,e,f):
return False
#+end_src
* Use them in a results-exported block later
#+begin_src python :results output :exports both :tangle yes
<<defs>>
print "test results:"
print f1(1,2,3)
#end_src
Run Code Online (Sandbox Code Playgroud)
我想要发生的是,当评估块以产生导出输出时,<< defs >>将被扩展为纠结样式.实际发生的是<< defs >>按字面意思进行评估并导致语法错误.
当这样的拼接块输出到输出文件时,一切都运行得很好,但是当我导出缓冲区时,我无法弄清楚如何做同样的事情.
建议?
emacs literate-programming org-mode org-babel reproducible-research