gpt4 book ai didi

clojure - org-mode babel tangle 可以生成 leiningen 目录吗?

转载 作者:行者123 更新时间:2023-12-02 02:06:15 25 4
gpt4 key购买 nike

我们希望自动化生成 Leiningen 项目树 完全来自 org-mode 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,仅此而已,在我们的 org-mode 缓冲区中emacs。

出现了困难:而 tangle 很乐意生产现有子目录(如 src 和 test )中的文件,如果子目录不存在,则似乎不愿意生成它们。这意味着我们必须通过其他方式创建目录结构——除非我们可以让 tangle 为我们做这件事,这就是本文的主题StackOverflow问题。

Leiningen 创建的目录结构中有六个文件。我可以将它们全部删除,然后使用 BEGIN_SRC block 从我的组织文件中重新创建它们,如下所示

#+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

如果我们的目录结构已经存在,那就一切顺利。 org-mode 的 tangle 将创建或更新上述所有六个文件,并在任何现有目录中创建新文件。我们不知道如何get tangle 来生成目录;它提示没有这样的目录。

可以找到所需 .org 文件的副本 here如果您想了解更多详细信息。

最佳答案

可以在 begin_src 部分使用以下 header ,

:mkdirp yes

关于clojure - org-mode babel tangle 可以生成 leiningen 目录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18301851/

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