Clojure 组织模式babel tangle可以生成leiningen目录吗?
我们希望自动化莱宁根项目树的生成 完全来自一个组织模式的巴贝尔文件。我们希望这样做,以便 还可以通过以下方式创建漂亮的排版文档:Clojure 组织模式babel tangle可以生成leiningen目录吗?,clojure,org-mode,leiningen,literate-programming,org-babel,Clojure,Org Mode,Leiningen,Literate Programming,Org Babel,我们希望自动化莱宁根项目树的生成 完全来自一个组织模式的巴贝尔文件。我们希望这样做,以便 还可以通过以下方式创建漂亮的排版文档: org乳胶导出为pdf。我们想要的是不低于完全识字的人 从组织模式在Clojure中编程 以下命令: $ lein new ex1 生成如下所示的树: ex1 ex1/.gitignore ex1/doc ex1/doc/intro.md ex1/project.clj ex1/README.md ex1/resources ex1/src ex1/src/ex1
org乳胶导出为pdf
。我们想要的是不低于完全识字的人
从组织模式在Clojure中编程
以下命令:
$ lein new ex1
生成如下所示的树:
ex1
ex1/.gitignore
ex1/doc
ex1/doc/intro.md
ex1/project.clj
ex1/README.md
ex1/resources
ex1/src
ex1/src/ex1
ex1/src/ex1/core.clj
ex1/test
ex1/test/ex1
ex1/test/ex1/core_test.clj
我们只想通过跑步来做同样的事情
org babel tangle
,在我们的组织模式缓冲区中
emacs
一个困难出现了:然而tangle
很乐意生产
现有子目录中的文件,如src
和test
,如果子目录不存在,它似乎不愿意生成这些子目录。这意味着我们必须
通过其他方法创建目录结构——除非我们能够
让tangle
为我们做这件事,这就是本文的主题
这个问题
由Leiningen
创建的目录结构中有六个文件。我可以用BEGIN\u SRC
块将它们全部删除,然后从我的组织文件中重新创建它们,如下所示
#+BEGIN_SRC clojure :tangle ./ex1/src/ex1/core.clj
(ns ex1.core)
(defn foo
"I don't do a whole lot."
[x]
(println x "Hello, World!"))
#+END_SRC
请特别注意子目录路径的名称
#+BEGIN_SRC clojure :tangle ./ex1/src/ex1/core.clj
如果我们的目录结构已经存在,那么一切都很好。组织模式的tangle
将
创建或更新上述所有六个文件,并在任何现有目录中创建新文件。我们不知道该怎么做
获取tangle
以生成目录;它抱怨说,没有这样的法律
目录
如果您想了解更多详细信息,可以找到所需
.org
文件的副本。可以在“开始”部分使用以下标题
:mkdirp yes
仅供参考,现在有一个lein项目模板,用于使用基于组织的项目:
您是否考虑过将fogus.github.io/marginalia/作为起点?现在看一下--我不知道。2c org babel比marginalia强大得多我们的babel用例是我们有很多数学,我们需要在
LaTeX
中设置类型,再加上很多图表a-laTikz
和PGF
,我们真的希望Clojure代码就在隔壁,所以我们有一个战斗的机会,代码和文档不会漂移。我们的文档/代码/项目将运行超过1k页。如果您使用noweb,您可以有一个部分收集所有代码片段并创建目录,这样您就不必将其添加到所有源标题以供参考,将org babel与noweb结合使用他大部分的帖子都是用org babel写的。你也可以给一个节指定一个noweb名称,这样所有的节都会在一个文件中结束。etc.@Red.cab:是的,你可以在一个地方指定每个代码块都必须有默认属性。将以下内容放在文件顶部的某个位置:#+属性:mkdirp yes