Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 组织模式babel tangle可以生成leiningen目录吗?_Clojure_Org Mode_Leiningen_Literate Programming_Org Babel - Fatal编程技术网

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-la
Tikz
PGF
,我们真的希望Clojure代码就在隔壁,所以我们有一个战斗的机会,代码和文档不会漂移。我们的文档/代码/项目将运行超过1k页。如果您使用noweb,您可以有一个部分收集所有代码片段并创建目录,这样您就不必将其添加到所有源标题以供参考,将org babel与noweb结合使用他大部分的帖子都是用org babel写的。你也可以给一个节指定一个noweb名称,这样所有的节都会在一个文件中结束。etc.@Red.cab:是的,你可以在一个地方指定每个代码块都必须有默认属性。将以下内容放在文件顶部的某个位置:#+属性:mkdirp yes