{"id":13861554,"url":"https://github.com/alphapapa/sword-to-org","last_synced_at":"2025-09-12T15:43:24.657Z","repository":{"id":145627781,"uuid":"87350897","full_name":"alphapapa/sword-to-org","owner":"alphapapa","description":"Convert Sword modules to Org-mode outlines","archived":false,"fork":false,"pushed_at":"2022-09-09T18:52:32.000Z","size":78,"stargazers_count":37,"open_issues_count":5,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T00:41:24.649Z","etag":null,"topics":["bible","emacs","esword","org-mode"],"latest_commit_sha":null,"homepage":null,"language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alphapapa.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-04-05T19:56:10.000Z","updated_at":"2025-02-14T02:22:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"6a6c6b48-df8d-4184-a606-429d6ab642e1","html_url":"https://github.com/alphapapa/sword-to-org","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fsword-to-org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fsword-to-org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fsword-to-org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphapapa%2Fsword-to-org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alphapapa","download_url":"https://codeload.github.com/alphapapa/sword-to-org/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250578505,"owners_count":21453322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bible","emacs","esword","org-mode"],"created_at":"2024-08-05T06:01:25.023Z","updated_at":"2025-04-24T06:32:21.667Z","avatar_url":"https://github.com/alphapapa.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"* sword-to-org\n\nThis package uses [[https://crosswire.org/wiki/Frontends:Diatheke][=diatheke=]] to convert Sword modules to Org-mode outlines.  For example, you can make an Org file containing the entire text of the ESV module as an outline structured by book/chapter/verse.  Then you can add top-level headings for Old/New Testaments, and then you have the whole Bible as an Org file.  Then you can do everything you can do in Org with the text of the Bible!  Add footnotes, links, tags, properties, write your own commentaries under subheadings, organize research with TODO items, export with =org-export=, search with =helm-org-rifle=, etc.  The list is endless.\n\n[[screenshot.png]]\n\n** Usage\n\nFirst install [[https://crosswire.org/wiki/Frontends:Diatheke][=diatheke=]].  On Debian/Ubuntu it's in the =diatheke= package.\n\nOpen a buffer and run the command =sword-to-org-insert-outline=.  Choose the module (e.g. Bible translation) to use, then input a passage reference or range (e.g. ~Gen 1~, ~Jn 1:1~, or even ~Gen-Rev~ —that last one will take a few moments), and an Org outline will be inserted in book/chapter/verse/text structure.  Call the command with a universal prefix (=C-u=) to choose a different module.\n\nThe command =sword-to-org-insert-passage= inserts a passage as plain text with one-verse-per-line.  Use prefix arguments to choose a different Sword module, and a double-prefix argument to insert as a single paragraph with reference at the end.\n\nYou may customize =sword-to-org-default-module= so you don't have to pick a module every time.\n\nYou may also use any of the =sword-to-org--= support functions in your own programs.  Consult the docstrings for instructions and examples.\n\n*** Export with Org Babel code block and macro\n\nBy including this code in your Org file, you can easily insert passages when exporting:\n\n#+BEGIN_SRC org\n  ,#+MACRO: refPara #+CALL: Diatheke(ref=$1, paragraph=\"t\")\n  ,#+MACRO: refLines #+CALL: Diatheke(ref=$1, paragraph=\"\")\n\n  ,#+NAME: Diatheke\n  ,#+BEGIN_SRC emacs-lisp :var ref=\"\" paragraph=\"\" :exports results :results raw\n    (concat \"#+BEGIN_QUOTE\" \"\\n\"\n            (sword-to-org--passage ref :paragraph (s-present? paragraph))\n            (when (s-present? paragraph)\n              (concat \"  (\" ref \")\")) \"\\n\" \n            \"#+END_QUOTE\" \"\\n\")\n  ,#+END_SRC\n#+END_SRC\n\nNow you can use macros to insert references, like this:\n\n#+BEGIN_SRC org\n  John explains that Jesus was with God in the beginning:\n\n  {{{refPara(\"John 1:1-3\")}}}\n\n  And that Jesus is victorious:\n\n  {{{refLines(\"John 1:4-5\")}}}\n#+END_SRC\n\nWhich is exported as:\n\n#+BEGIN_EXAMPLE\nJohn explains that Jesus was with God in the beginning:\n\n      In the beginning was the Word, and the Word was with God,\n      and the Word was God. He was in the beginning with God. All\n      things were made through him, and without him was not any\n      thing made that was made.  (John 1:1-3)\n\nAnd that Jesus has conquered darkness:\n\n      John 1:4 In him was life, and the life was the light of men.\n\n      John 1:5 The light shines in the darkness, and the darkness\n      has not overcome it.\n#+END_EXAMPLE\n\n** Development\n\nContributions are welcome!\n\n*** Ideas\n\n**** MAYBE Rename, expand \n\nMight want to rename to, say, =org-sword=, and add commands to search =diatheke= for keywords, etc.\n\n** Credits\n\n+  Thanks to [[https://github.com/syohex][Syohei YOSHIDA]] and [[https://github.com/purcell][Steve Purcell]] for their tireless work curating MELPA.\n+  Thanks to [[https://github.com/clyde100][@clyde100]] for reporting a bug in the parsing and inspiring the =insert-passage= command and the Babel/export code above.\n\n** License\n\nGPLv3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falphapapa%2Fsword-to-org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falphapapa%2Fsword-to-org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falphapapa%2Fsword-to-org/lists"}