Menyesuaikan templat ekspor mode-org?

8

Terkait dengan pertanyaan ini: Bagaimana cara mendefinisikan template untuk ekspor HTML mode-org?

Saya ingin mengkustomisasi templat yang dimasukkan dengan menekan C-c C-e tsehingga saya mendapatkan beberapa penyesuaian dan bahkan beberapa catatan bantuan dalam beberapa komentar tentang apa yang harus dimasukkan.

Mungkin akan lebih baik menggunakan beberapa cara Emacs lain untuk menyisipkan potongan teks? Atau menggunakan perluasan templat mode-org?

justingordon
sumber

Jawaban:

4

Jawaban Singkat : Tidak terlihat mudah untuk memodifikasi struktur secara dramatis. Ada beberapa opsi ekspor yang disarankan, org-export-plist-varstetapi saya pribadi belum memainkannya.

Menggali Jawaban : Ketika Anda menelepon C-c C-e t, Anda menjalankan fungsi mode-org org-insert-export-options-template. Saya melakukan bantuan cepat pada fungsi ( C-h f) dan tidak melihat teks bantuan atau opsi untuk melewatinya, jadi saya harus melihat sumber fungsi ( M-x find-function ENTER org-insert-export-options-template ENTER>).

Membaca melalui org-insert-export-options-templatefungsi, saya melihat bahwa ia memperoleh teks untuk disisipkan melalui org-get-current-options. Tidak ada bantuan untuk mengkonfigurasi perilaku itu dalam deskripsi itu, jadi pergi untuk melihat sumbernya juga. Di sana Anda akan melihat paragraf informasi templat bertubuh lengkap yang sudah dikenal yang dimasukkan ke dalam teks saat Anda menelepon org-insert-export-options-template. Nilai-nilai yang digunakan berasal dari berbagai variabel organisasi, nama buffer, dll.

Rekomendasi : Apa yang secara pribadi telah saya lakukan menghabiskan waktu untuk memutuskan opsi mana yang saya suka dan menyalinnya dari file org lain ketika saya memulai yang baru. Saya juga telah berpikir tentang menggunakan AutoInsertMode untuk secara otomatis mengisi file org baru bagi saya tetapi telah menundanya.

jonEbird
sumber
0

Selain opsi "sisipkan cuplikan", Anda mungkin juga tertarik dengan # + SETUPFILE: /path/to/template.org. Ini berguna jika Anda ingin pengaturan yang telah ditentukan ditetapkan untuk ekspor. Anda dapat membuat sebanyak yang Anda butuhkan. Saya menggabungkan ini dengan yasnippet todo sebagai berikut:

# -*- mode: snippet; require-final-newline: nil -*-
# name: blogtemplate
# key: <bl
# --
#+SETUPFILE: ~/.emacs.d/org-templates/level-$1.org
#+DATE: $2
#+KEYWORDS: $3 

#+BEGIN_HTML
<h1 class="title">$0</h1>
#+END_HTML

$ 1, $ 2 dan seterusnya menentukan tab berhenti sehingga Anda dapat mengisinya seperti formulir web.

EDIT:

Detail tentang cara menulis yasnippet dan penghentian tab dapat ditemukan di sini: http://capitaomorte.github.io/yasnippet/snippet-development.html#sec-3-3

Tetapi pada dasarnya, setelah Anda memasukkan potongan itu akan menempatkan Anda pada $ 1 kemudian menekan tab akan menempatkan Anda pada $ 2 dan seterusnya. Dengan begitu Anda dapat dengan cepat mengisi apa yang Anda butuhkan.

Robert
sumber
Tolong jelaskan bagian $ 1, $ 2. Adakah dokumen referensi? Terima kasih!!
justingordon