{"id":13711302,"url":"https://github.com/TLINDEN/novel-mode","last_synced_at":"2025-05-06T20:32:39.061Z","repository":{"id":144613054,"uuid":"59518704","full_name":"TLINDEN/novel-mode","owner":"TLINDEN","description":"Emacs Screen Reader","archived":false,"fork":false,"pushed_at":"2023-05-08T12:10:22.000Z","size":2831,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T22:29:52.496Z","etag":null,"topics":[],"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-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TLINDEN.png","metadata":{"files":{"readme":"README.md","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,"publiccode":null,"codemeta":null}},"created_at":"2016-05-23T21:12:39.000Z","updated_at":"2024-09-27T07:06:25.000Z","dependencies_parsed_at":"2024-05-12T22:48:10.296Z","dependency_job_id":"ce9b12bc-b890-4804-96f8-328fc173157d","html_url":"https://github.com/TLINDEN/novel-mode","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/TLINDEN%2Fnovel-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fnovel-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fnovel-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fnovel-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TLINDEN","download_url":"https://codeload.github.com/TLINDEN/novel-mode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252764681,"owners_count":21800733,"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":[],"created_at":"2024-08-02T23:01:06.741Z","updated_at":"2025-05-06T20:32:38.241Z","avatar_url":"https://github.com/TLINDEN.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"# novel-mode\nEmacs Screen Reader\n\n# Demo\n\n![demo](https://raw.githubusercontent.com/TLINDEN/novel-mode/master/demo.gif)\n\n# Introduction\n\nNovel  mode is  a minor  mode which  converts emacs  into a  screen\nreader, or in other words,  it enables distraction free reading. It\nis however not  suited for distraction free  editing. Try writeroom\nmode if you're looking for this.\n\nWhen turned on, it does the following conversions:\n\n  - disable almost all distractions, as menu, toolbar, scrollbar\n  - enlarge font size\n  - switch to variable width font\n  - enable word wrap (without fringe marker)\n  - increase line spacing\n  - add a window margin to the left and right (thereby centering the text)\n  - disable all input keys (rendering the buffer read-only)\n  - disable the cursor\n  - switch to buffer-scrolling (like e.g. in Acroread)\n  - display current reading position in percent\n  - add a couple of convenience one-key commands\n\nNovel mode provides the following one-key commands, when active:\n\n    n           scroll one page down\n    p           scroll one page up\n    \u003cdown\u003e      scroll one line down\n    \u003cup\u003e        scroll one line up\n    mousewheel  scroll linewise up or down\n    SPC         scroll one page down\n    \u003cleft\u003e      increase margins, makes visible text narrower\n    \u003cright\u003e     decrease margins, makes visible text wider\n    +           increase font size\n    -           decrease font size\n    i           invert video display\n    q           quit novel mode\n    ?           display key mapping\n\nImportant: while normal  key input (beside the  ones listed above),\nis disabled, Control and Meta still work, of course. Please be also\naware that this mode might conflict with god-mode or evil-mode.\n\nIf you use this  mode quite often, then it might be  a good idea to\nuse save-place mode,  so that a text file will  be opened where you\nleft last time (just like any  ebook reader would do). Here's how to\ndo that:\n\n    (if (version\u003c emacs-version \"25.0\")\n        (progn\n          (require 'saveplace)\n          (setq-default save-place t))\n      (save-place-mode 1))\n\n\nThe name  novel mode is  not my idea,  there's a function  on Xah's\nergomacs   page  with   a  function   for  this   kind  of   stuff:\nhttp://ergoemacs.org/emacs/emacs_novel_reading_mode.html.  In fact,\nthis mode is based on this function, I had it in my .emacs file and\nenhanced it  all the  time.  At  some point it  made more  sence to\nmaintain this baby in its own mode - hence novel-mode.\n\n# Install\n\nTo use, save novel-mode.el to a directory in your load-path.\n\nAdd something like this to your config:\n\n    (require 'novel-mode)\n    (add-hook 'text-mode-hook 'novel-mode)\n\nor load it manually, when needed:\n\n    M-x novel-mode\n\n# Customize\n\nYou can customize the following variables:\n\nTo setup a default left and right margin, use this:\n\n    (setq novel-default-margin 50)\n\nAll available  novel-mode variables  can be  modified interactively\nwith:\n\n     M-x customize-group RET novel-mode RET\n\nYou can also use hooks to novel  mode as a way to modify or enhance\nits behavior.  The following hooks are available:\n\n    novel-mode-pre-start-hook\n    novel-mode-post-start-hook\n    novel-mode-pre-stop-hook\n    novel-mode-post-stop-hook\n\nExample:\n\n    (add-hook 'novel-mode-post-start-hook\n              (lambda ()\n                (set-face-font 'default \"DejaVu Sans\")))\n    (add-hook 'novel-mode-post-stop-hook\n              (lambda ()\n                (set-face-font 'default \"Courier\")))\n\n# Meta\n\n\nCopyright (C) 2016, T.v.Dein \u003ctlinden@cpan.org\u003e\n\nThis file is NOT part of Emacs.\n\nThis  program is  free  software; you  can  redistribute it  and/or\nmodify it  under the  terms of  the GNU  General Public  License as\npublished by the Free Software  Foundation; either version 2 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT  ANY  WARRANTY;  without   even  the  implied  warranty  of\nMERCHANTABILITY or FITNESS  FOR A PARTICULAR PURPOSE.   See the GNU\nGeneral Public License for more details.\n\nYou should have  received a copy of the GNU  General Public License\nalong  with  this program;  if  not,  write  to the  Free  Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307\nUSA\n\n    - Version: 0.01\n    - Author: T.v.Dein \u003ctlinden@cpan.org\u003e\n    - Keywords: read books novels\n    - URL: https://github.com/tlinden/novel-mode\n    - License: GNU General Public License \u003e= 2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTLINDEN%2Fnovel-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTLINDEN%2Fnovel-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTLINDEN%2Fnovel-mode/lists"}