Comment puis-je spécifier le nom de fichier pour l'exportation en mode org dans Emacs?

15

Mon fichier org est nommé README.orget je souhaite exporter vers Markdown dans un fichier nommé README. Chaque fois que je lance l'exportation vers laquelle il écrit README.md. Voici mon fichier org:

#+PROPERTY: EXPORT_FILE_NAME thing

* Test export

J'utilise la EXPORT_FILE_NAMEpropriété basée sur ce lien: http://orgmode.org/manual/Export-settings.html#index-property_002c-EXPORT_005fFILE_005fNAME-1617 mais il ne semble rien faire.

Conor
la source
2
Votre lien indique "Dans tous les cas, seul le nom de base du fichier est conservé et une extension spécifique au back-end est ajoutée." Cela donne l'impression que vous obtiendrez toujours le ".md".
erikstokes
1
Tu as tout à fait raison. Il semble que l'extension ne soit pas configurable. Demande de fonctionnalité pour le mode org?
Conor

Réponses:

12

Selon la page de manuel citée, EXPORT_FILE_NAMEs'applique uniquement à l'exportation de sous-arborescence.

L'exportation de fichier entier prendra son nom du nom du fichier tampon.

Si vous n'avez qu'un seul titre de niveau 1, vous pouvez ajouter cette propriété à un tiroir à l'intérieur du premier en-tête et toujours exporter en tant que sous-arbre à partir de cet en-tête de niveau supérieur pour obtenir le nom de fichier souhaité.

Juancho
la source
8

Pour les versions plus récentes du mode org, un nouveau paramètre d'exportation a été ajouté #+EXPORT_FILE_NAME:, qui définira le nom du fichier lors de l'exportation du fichier.

  • Par exemple:

    #+EXPORT_FILE_NAME: README.txt
    

Le paramètre peut être remplacé dans le tiroir des propriétés sous un en-tête.

  • Par exemple:

    * Chapter 2
    :PROPERTIES:
    :EXPORT_FILE_NAME: chapter2
    :END:
    

Ce code a été testé à l'aide de:
version emacs: GNU Emacs 25.2.1 (x86_64-unknown-cygwin, GTK + version 3.22.10)
Version en mode org: 9.1.2

Melioratus
la source
5

Une solution de contournement simple consiste à ajouter ceci au bas du fichier Org source:

# Local Variables:
# after-save-hook: (lambda nil (when (org-html-export-to-html) (rename-file "README.html" "index.html" t)))
# End:

Dans cet exemple, en supposant que le fichier source est nommé README.org, il exportera automatiquement le fichier au format HTML, puis le renommera index.html.

blujay
la source
2

Vous pouvez utiliser la fonction org-export-to-file

Cela vous permettra de spécifier le fichier dans lequel vous souhaitez enregistrer et le back-end pour l'exportation.

(org-export-to-file 'html "README.html" )
Yisrael Dov
la source