ฉันจะระบุชื่อไฟล์สำหรับการส่งออกโหมด org ใน Emacs ได้อย่างไร


15

ไฟล์ org ของฉันคือการตั้งชื่อREADME.orgและฉันต้องการที่จะส่งออกไปยัง Markdown READMEเป็นไฟล์ที่ชื่อว่า README.mdทุกครั้งที่ผมทำงานส่งออกก็เขียนไป นี่คือไฟล์ org ของฉัน:

#+PROPERTY: EXPORT_FILE_NAME thing

* Test export

ฉันใช้EXPORT_FILE_NAMEคุณสมบัติตามลิงก์นี้: http://orgmode.org/manual/Export-settings.html#index-property_002c-EXPORT_005fFILE_005fNAME-1617แต่ดูเหมือนว่าจะไม่ทำอะไรเลย


2
ลิงก์ของคุณระบุว่า "ในทุกกรณีจะมีเพียงชื่อฐานของไฟล์ที่ถูกเก็บไว้และมีการเพิ่มส่วนขยายเฉพาะส่วนหลัง" ซึ่งทำให้ดูเหมือนว่าคุณจะได้รับ ".md" เสมอ
erikstokes

1
คุณพูดถูก ดูเหมือนว่าส่วนขยายจะไม่สามารถกำหนดค่าได้ คำขอคุณสมบัติสำหรับโหมดองค์กรหรือไม่
Conor

คำตอบ:


12

ตามหน้าคู่มือที่อ้างถึงใช้EXPORT_FILE_NAMEสำหรับการส่งออกทรีย่อยเท่านั้น

การส่งออกไฟล์ทั้งหมดจะใช้ชื่อจากชื่อไฟล์บัฟเฟอร์

หากคุณมีหัวเรื่อง 1 ระดับ -1 คุณสามารถเพิ่มคุณสมบัตินี้ลงในลิ้นชักภายในส่วนหัวแรกและส่งออกเป็นทรีย่อยจากภายในส่วนหัวระดับบนสุดนี้เพื่อรับชื่อไฟล์ที่คุณต้องการ


8

สำหรับโหมด org รุ่นล่าสุดเพิ่มเติมจะมีการเพิ่มการตั้งค่าการส่งออกใหม่#+EXPORT_FILE_NAME:ซึ่งจะตั้งชื่อไฟล์เมื่อไฟล์ถูกส่งออก

  • ตัวอย่างเช่น:

    #+EXPORT_FILE_NAME: README.txt
    

การตั้งค่าสามารถเขียนทับภายใน drawer Properties ภายใต้หัวเรื่อง

  • ตัวอย่างเช่น:

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

รหัสนี้ได้รับการทดสอบโดยใช้:
รุ่น emacs: GNU Emacs 25.2.1 (x86_64 ไม่รู้จัก-Cygwin, GTK + เวอร์ชัน 3.22.10)
องค์กรรุ่นโหมด: 9.1.2


5

วิธีแก้ปัญหาง่ายๆคือเพิ่มที่ด้านล่างของไฟล์ Org ต้นทาง:

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

ในตัวอย่างนี้สมมติว่าแฟ้มแหล่งที่มารับการตั้งชื่อREADME.orgโดยอัตโนมัติจะส่งออกไฟล์เป็น HTML index.htmlแล้วเปลี่ยนชื่อเป็น


2

คุณสามารถใช้ฟังก์ชั่น org-export-to-file

สิ่งนี้จะช่วยให้คุณระบุไฟล์ที่คุณต้องการบันทึกและส่วนแบ็คเอนด์สำหรับการส่งออก

(org-export-to-file 'html "README.html" )
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.