mirror of
https://codeberg.org/scip/novel-mode.git
synced 2025-12-18 04:50:59 +01:00
initial commit
This commit is contained in:
135
README.md
135
README.md
@@ -1,2 +1,137 @@
|
||||
# novel-mode
|
||||
Emacs Screen Reader
|
||||
|
||||
# Demo
|
||||
|
||||

|
||||
|
||||
# Introduction
|
||||
|
||||
Novel mode is a minor mode which converts emacs into a screen
|
||||
reader, or in other words, it enables distraction free reading. It
|
||||
is however not suited for distraction free editing. Try writeroom
|
||||
mode if you're looking for this.
|
||||
|
||||
When turned on, it does the following conversions:
|
||||
|
||||
- disable almost all distractions, as menu, toolbar, scrollbar
|
||||
- enlarge font size
|
||||
- switch to variable width font
|
||||
- enable word wrap (without fringe marker)
|
||||
- increate line spacing
|
||||
- adds a window margin to the left and right (thereby centering the text)
|
||||
- disable all input keys (rendering the buffer read-only)
|
||||
- disable the cursor
|
||||
- switch to buffer-scrolling (like e.g. in Acroread)
|
||||
- display current reading position in percent
|
||||
- add a couple of convenience one-key commands
|
||||
|
||||
Novel mode provides the following one-key commands, when active:
|
||||
|
||||
n scroll one page down
|
||||
p scroll one page up
|
||||
<down> scroll one line down
|
||||
<up> scroll one line up
|
||||
mousewheel scroll linewise up or down
|
||||
SPC scroll one page down
|
||||
<left> increase margins, makes visible text narrower
|
||||
<right> decrease margins, makes visible text wider
|
||||
+ increase font size
|
||||
- decrease font size
|
||||
i invert video display
|
||||
q quit novel mode
|
||||
? display key mapping
|
||||
|
||||
Important: while normal key input (beside the ones listed above),
|
||||
is disabled, Control and Meta still work, of course. Please be also
|
||||
aware that this mode might conflict with god-mode or evil-mode.
|
||||
|
||||
If you use this mode quite often, then it might be a good idea to
|
||||
use save-place mode, so that a text file will be opened where you
|
||||
left last time (just like any ebook reader would do). Here's how to
|
||||
do that:
|
||||
|
||||
(if (version< emacs-version "25.0")
|
||||
(progn
|
||||
(require 'saveplace)
|
||||
(setq-default save-place t))
|
||||
(save-place-mode 1))
|
||||
|
||||
|
||||
The name novel mode is not my idea, there's a function on Xah's
|
||||
ergomacs page with a function for this kind of stuff:
|
||||
http://ergoemacs.org/emacs/emacs_novel_reading_mode.html. In fact,
|
||||
this mode is based on this function, I had it in my .emacs file and
|
||||
enhanced it all the time. At some point it made more sence to
|
||||
maintain this baby in its own mode - hence novel-mode.
|
||||
|
||||
# Install
|
||||
|
||||
To use, save novel-mode.el to a directory in your load-path.
|
||||
|
||||
Add something like this to your config:
|
||||
|
||||
(require 'novel-mode)
|
||||
(add-hook 'text-mode-hook 'novel-mode)
|
||||
|
||||
or load it manually, when needed:
|
||||
|
||||
M-x novel-mode
|
||||
|
||||
# Customize
|
||||
|
||||
You can customize the following variables:
|
||||
|
||||
To setup a default left and right margin, use this:
|
||||
|
||||
(setq novel-default-margin 50)
|
||||
|
||||
All available novel-mode variables can be modified interactively
|
||||
with:
|
||||
|
||||
M-x customize-group RET novel-mode RET
|
||||
|
||||
You can also use hooks to novel mode as a way to modify or enhance
|
||||
its behavior. The following hooks are available:
|
||||
|
||||
novel-mode-pre-start-hook
|
||||
novel-mode-post-start-hook
|
||||
novel-mode-pre-stop-hook
|
||||
novel-mode-post-stop-hook
|
||||
|
||||
Example:
|
||||
|
||||
(add-hook 'novel-mode-post-start-hook
|
||||
(lambda ()
|
||||
(set-face-font 'default "DejaVu Sans")))
|
||||
(add-hook 'novel-mode-post-stop-hook
|
||||
(lambda ()
|
||||
(set-face-font 'default "Courier")))
|
||||
|
||||
# Meta
|
||||
|
||||
|
||||
Copyright (C) 2016, T.v.Dein <tlinden@cpan.org>
|
||||
|
||||
This file is NOT part of Emacs.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
USA
|
||||
|
||||
Version: 0.01
|
||||
Author: T.v.Dein <tlinden@cpan.org>
|
||||
Keywords: read books novels
|
||||
URL: https://github.com/tlinden/novel-mode
|
||||
License: GNU General Public License >= 2
|
||||
|
||||
Reference in New Issue
Block a user