我们希望自动生成Leiningen项目树
完全来自组织模式的babel文件。我们希望这样做,以便我们
也可以通过创建漂亮的排版文档
org-latex-export-to-pdf
。我们想要的不仅仅是完全识字
从org-mode在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
为我们做这件事,这就是主题
StackOverflow 问题。
Leiningen
创建的目录结构中有六个文件。我可以删除它们并使用BEGIN_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
文件的副本here。
答案 0 :(得分:6)
可以在begin_src部分使用以下标题
:mkdirp yes
答案 1 :(得分:0)
FYI现在有一个使用基于组织的项目的lein项目模板: