Saya menggunakan mode-org dengan mode air mancur untuk menulis skenario.
Org untuk organisasi dan air mancur untuk pemformatan skenario.
Ini adalah kode yang saya gunakan untuk tujuan ini:
Pengaturan untuk bekerja dengan blok sumber (air mancur) dalam org.
;; prevent org from messing with indentation of the source text.
(setq org-src-preserve-indentation t)
(setq org-edit-src-content-indentation 0)
;; open the buffer for editing fountain in another window.
(setq org-src-window-setup (quote reorganize-frame))
;; prevent a message in the edit buffer from being shown.
(setq org-edit-src-persistent-message nil)
;; save edits in the fountain buffer to the org buffer after x sec
(setq org-edit-src-auto-save-idle-delay 1)
Sebagai contoh :
Babak 1
** SQ 1
Adegan *** 1
Banyak teks yang terkait dengan adegan dan apa yang dilakukan karakter dan semua yang perlu saya ketahui tetapi tidak akan pernah berakhir di skenario.
BEGIN_SRC air mancur
naskah skenario
END_SRC
Sekarang saya Cc 'dan membuka di atas dalam buffer baru dan saya bisa mengambilnya dari sana.
Masalah dengan pengaturan saya saat ini adalah tidak membiarkan saya melihat teks skenario secara keseluruhan.
Saya memiliki sekitar 50+ blok seperti itu dan saya ingin mencapai yang berikut:
Saya ingin org untuk mengekspor semua blok air mancur ke file tertentu, katakan air mancur-skenario. Dengan begitu saya punya satu file dengan skenario saja.
Apakah semua pengeditan disinkronkan dengan file org. Jika saya mengedit apa pun di air mancur-skenario, blok sumber dalam org harus memperbarui perubahan dan sebaliknya.
Untuk melakukan ini, saya memasukkan properti berikut di file org saya:
:PROPERTIES:
:file: "~/files/fountain-screenplay.fountain"
:cache: yes
:comments: yes
:tangle: yes
:results: silent
:END:
Ketika saya Cc Cc kembali dengan kesalahan yang mengatakan bahwa tidak ada fungsi eksekusi org-babel ditemukan.
Dan ketika saya Cc Cv t dikatakan 0 blok kusut.
Apakah pendekatan saya salah atau saya melewatkan sesuatu?
Sunting: Saya mengubah properti menjadi:
#+properties :file .fountain :cache yes and so on
dan ketika saya Cc Cv t itu menyatukan blok sumber ke namafile.fountain. Sekarang bagian sinkronisasi masih harus dipecahkan.
outshine.el
, tampaknya mengambil jalan yang berlawanan (file sumber dengan komentar yang dapat dilihat dalam buffer org), tetapi mungkin mendekati apa yang Anda inginkan. Penafian: belum pernah mencobanya sendiri (belum).org-babel-detangle
yang mengklaim ini (memberikan Anda kusut dengan komentar tautan). Saya tidak pernah bisa membuatnya bekerja.Jawaban:
Salah satu opsi yang dikenal luas yang mengimplementasikan hubungan dua arah pulang-pergi antara format dokumen yang berbeda (org dan air mancur, misalnya) dalam file yang sama adalah fitur server lentik yang dikembangkan oleh Phillip Lord. Itu dapat diinstal sebagai paket lentic melalui repositori MELPA.
Ada screencast yang menunjukkan mode-org dan integrasi lisp dalam file yang sama dengan dua tampilan yang dapat diedit pada saat yang bersamaan, ditautkan. Mengubah yang satu membuat perubahan yang lain. Beberapa pengaturan awal mungkin diperlukan untuk mengakomodasi format yang Anda butuhkan.
Ini adalah integrasi yang lebih kaya, lebih cocok untuk mengedit, daripada mengatakan satu arah keluaran kusut dan lepas melalui org-babel.
sumber
Agak terlambat ke pesta, tapi aku punya keinginan yang sama untuk menyinkronkan blok kusut dengan file eksternal mereka.
Untuk ini saya dapat merekomendasikan org-tanglesync
Paket ini mencari
:tangle <filename>
properti di header file org dan membandingkan konten blok dengan itu. Dif dilakukan di latar belakang, dan kemudian pengguna diminta untuk menarik atau menolak perubahan eksternal.Saya menemukan bahwa ini lebih intuitif daripada
org-babel-detangle
karena tidak memerlukan file eksternal untuk memiliki sihir org-babel ekstra agar dapat berfungsi, yaitu file sumber yang melacak blok ekspor eksternal dan bukan sebaliknya.sumber