diff options
| author | Rüdiger Sonderfeld | 2014-01-10 00:21:56 +0100 |
|---|---|---|
| committer | Rüdiger Sonderfeld | 2014-01-10 00:21:56 +0100 |
| commit | 548a1b28ffcf20e21373e822ccc6cdc078eb42c1 (patch) | |
| tree | 758062ed0c7dbc09c91e27e1337fa2d7c5ae6dbb | |
| parent | d6a62260f24de4d0d89ed0cf0d69da415e275b60 (diff) | |
| download | emacs-548a1b28ffcf20e21373e822ccc6cdc078eb42c1.tar.gz emacs-548a1b28ffcf20e21373e822ccc6cdc078eb42c1.zip | |
Document EWW.
* doc/emacs/emacs.texi: Add EWW.
* doc/emacs/misc.texi (EWW): Document EWW.
* doc/misc/Makefile.in: Add eww.texi.
* doc/misc/eww.texi: New file.
| -rw-r--r-- | doc/emacs/ChangeLog | 6 | ||||
| -rw-r--r-- | doc/emacs/emacs.texi | 1 | ||||
| -rw-r--r-- | doc/emacs/misc.texi | 12 | ||||
| -rw-r--r-- | doc/misc/ChangeLog | 5 | ||||
| -rw-r--r-- | doc/misc/Makefile.in | 14 | ||||
| -rw-r--r-- | doc/misc/eww.texi | 254 | ||||
| -rw-r--r-- | etc/NEWS | 1 |
7 files changed, 292 insertions, 1 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index b91d9c3075c..49dea7ba879 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de> | ||
| 2 | |||
| 3 | * emacs.texi: Add EWW. | ||
| 4 | |||
| 5 | * misc.texi (EWW): Document EWW. | ||
| 6 | |||
| 1 | 2014-01-09 Glenn Morris <rgm@gnu.org> | 7 | 2014-01-09 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * trouble.texi (Service): Refer to online service directory | 9 | * trouble.texi (Service): Refer to online service directory |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 691c8bd8ff5..8ec4fb5880d 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -190,6 +190,7 @@ Advanced Features | |||
| 190 | * Rmail:: Reading mail in Emacs. | 190 | * Rmail:: Reading mail in Emacs. |
| 191 | * Gnus:: A flexible mail and news reader. | 191 | * Gnus:: A flexible mail and news reader. |
| 192 | * Document View:: Viewing PDF, PS and DVI files. | 192 | * Document View:: Viewing PDF, PS and DVI files. |
| 193 | * EWW:: A web browser in Emacs. | ||
| 193 | * Shell:: Executing shell commands from Emacs. | 194 | * Shell:: Executing shell commands from Emacs. |
| 194 | * Emacs Server:: Using Emacs as an editing server. | 195 | * Emacs Server:: Using Emacs as an editing server. |
| 195 | * Printing:: Printing hardcopies of buffers or regions. | 196 | * Printing:: Printing hardcopies of buffers or regions. |
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 8cdeab98677..aed854e1a3f 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -439,6 +439,18 @@ associated with the current buffer, type @kbd{K} | |||
| 439 | (@code{doc-view-kill-proc-and-buffer}) kills the converter process and | 439 | (@code{doc-view-kill-proc-and-buffer}) kills the converter process and |
| 440 | the DocView buffer. | 440 | the DocView buffer. |
| 441 | 441 | ||
| 442 | @node EWW | ||
| 443 | @section Web Browsing with EWW | ||
| 444 | |||
| 445 | @findex eww | ||
| 446 | @findex eww-open-file | ||
| 447 | @dfn{EWW}, the Emacs Web Wowser, is a web browser package for Emacs. | ||
| 448 | It allows browsing URLs within an Emacs buffer. The command @kbd{M-x | ||
| 449 | eww} can be used to open a URL or search the web. A file can be | ||
| 450 | opened using the command @kbd{M-x eww-open-file}. EWW can be used as | ||
| 451 | web browser for @code{browse-url}, see @ref{Browse-URL}. For full | ||
| 452 | details, see @ref{Top, EWW,, eww, The Emacs Web Wowser Manual}. | ||
| 453 | |||
| 442 | @node Shell | 454 | @node Shell |
| 443 | @section Running Shell Commands from Emacs | 455 | @section Running Shell Commands from Emacs |
| 444 | @cindex subshell | 456 | @cindex subshell |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 46fb672e28a..41e7e3d768f 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de> | ||
| 2 | |||
| 3 | * Makefile.in: Add eww.texi. | ||
| 4 | * eww.texi: New file. | ||
| 5 | |||
| 1 | 2014-01-07 Glenn Morris <rgm@gnu.org> | 6 | 2014-01-07 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * efaq.texi (Problems with very large files): Fix superscript typo. | 8 | * efaq.texi (Problems with very large files): Fix superscript typo. |
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 8b8d8a606c9..b3318ddd183 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in | |||
| @@ -65,7 +65,7 @@ DOCMISC_W32 = @DOCMISC_W32@ | |||
| 65 | ## Info files to build and install on all platforms. | 65 | ## Info files to build and install on all platforms. |
| 66 | INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ | 66 | INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ |
| 67 | dbus dired-x ebrowse ede ediff edt eieio \ | 67 | dbus dired-x ebrowse ede ediff edt eieio \ |
| 68 | emacs-mime epa erc ert eshell eudc efaq \ | 68 | emacs-mime epa erc ert eshell eudc efaq eww \ |
| 69 | flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ | 69 | flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ |
| 70 | mairix-el message mh-e newsticker nxml-mode octave-mode \ | 70 | mairix-el message mh-e newsticker nxml-mode octave-mode \ |
| 71 | org pcl-cvs pgg rcirc remember reftex sasl \ | 71 | org pcl-cvs pgg rcirc remember reftex sasl \ |
| @@ -410,6 +410,18 @@ eudc.pdf: $(eudc_deps) | |||
| 410 | eudc.html: $(eudc_deps) | 410 | eudc.html: $(eudc_deps) |
| 411 | $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi | 411 | $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi |
| 412 | 412 | ||
| 413 | eww_deps = ${srcdir}/eww.texi $(emacsdir)/emacsver.texi ${gfdl} | ||
| 414 | eww : $(buildinfodir)/eww$(INFO_EXT) | ||
| 415 | $(buildinfodir)/eww$(INFO_EXT): $(eww_deps) | ||
| 416 | $(mkinfodir) | ||
| 417 | $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eww.texi | ||
| 418 | eww.dvi: $(eww_deps) | ||
| 419 | $(ENVADD) $(TEXI2DVI) ${srcdir}/eww.texi | ||
| 420 | eww.pdf: $(eww_deps) | ||
| 421 | $(ENVADD) $(TEXI2PDF) ${srcdir}/eww.texi | ||
| 422 | eww.html: $(eww_deps) | ||
| 423 | $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eww.texi | ||
| 424 | |||
| 413 | flymake_deps = ${srcdir}/flymake.texi ${gfdl} | 425 | flymake_deps = ${srcdir}/flymake.texi ${gfdl} |
| 414 | flymake : $(buildinfodir)/flymake$(INFO_EXT) | 426 | flymake : $(buildinfodir)/flymake$(INFO_EXT) |
| 415 | $(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps) | 427 | $(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps) |
diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi new file mode 100644 index 00000000000..b84de7509da --- /dev/null +++ b/doc/misc/eww.texi | |||
| @@ -0,0 +1,254 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | ||
| 2 | @c %**start of header | ||
| 3 | @setfilename ../../info/eww | ||
| 4 | @settitle Emacs Web Wowser | ||
| 5 | @documentencoding UTF-8 | ||
| 6 | @c @include emacsver.texi | ||
| 7 | @c %**end of header | ||
| 8 | |||
| 9 | @copying | ||
| 10 | This file documents the GNU Emacs Web Wowser (EWW) package. | ||
| 11 | |||
| 12 | Copyright @copyright{} 2014 Free Software Foundation, Inc. | ||
| 13 | |||
| 14 | @quotation | ||
| 15 | Permission is granted to copy, distribute and/or modify this document | ||
| 16 | under the terms of the GNU Free Documentation License, Version 1.3 or | ||
| 17 | any later version published by the Free Software Foundation; with no | ||
| 18 | Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' | ||
| 19 | and with the Back-Cover Texts as in (a) below. A copy of the license | ||
| 20 | is included in the section entitled ``GNU Free Documentation License.'' | ||
| 21 | |||
| 22 | (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and | ||
| 23 | modify this GNU manual.'' | ||
| 24 | @end quotation | ||
| 25 | @end copying | ||
| 26 | |||
| 27 | @dircategory Emacs misc features | ||
| 28 | @direntry | ||
| 29 | * EWW: (eww). Emacs Web Wowser | ||
| 30 | @end direntry | ||
| 31 | |||
| 32 | @finalout | ||
| 33 | |||
| 34 | @titlepage | ||
| 35 | @title Emacs Web Wowser (EWW) | ||
| 36 | @subtitle A web browser for GNU Emacs. | ||
| 37 | |||
| 38 | @page | ||
| 39 | @vskip 0pt plus 1filll | ||
| 40 | @insertcopying | ||
| 41 | @end titlepage | ||
| 42 | |||
| 43 | @contents | ||
| 44 | |||
| 45 | @ifnottex | ||
| 46 | @node Top | ||
| 47 | @top EWW | ||
| 48 | |||
| 49 | @insertcopying | ||
| 50 | @end ifnottex | ||
| 51 | |||
| 52 | @menu | ||
| 53 | * Overview:: | ||
| 54 | * Basics:: | ||
| 55 | * Advanced:: | ||
| 56 | |||
| 57 | Appendices | ||
| 58 | * History and Acknowledgments:: | ||
| 59 | * GNU Free Documentation License:: The license for this documentation. | ||
| 60 | |||
| 61 | Indices | ||
| 62 | * Key Index:: | ||
| 63 | * Variable Index:: | ||
| 64 | * Lisp Function Index:: | ||
| 65 | * Concept Index:: | ||
| 66 | @end menu | ||
| 67 | |||
| 68 | @node Overview | ||
| 69 | @chapter Overview | ||
| 70 | @dfn{EWW}, the Emacs Web Wowser, is a web browser for GNU Emacs. It | ||
| 71 | can load, parse, and display various web pages using @dfn{shr.el}. | ||
| 72 | However a GNU Emacs with @code{libxml2} support is required. | ||
| 73 | |||
| 74 | @node Basics | ||
| 75 | @chapter Basic Usage | ||
| 76 | |||
| 77 | @findex eww | ||
| 78 | @findex eww-open-file | ||
| 79 | @vindex eww-search-prefix | ||
| 80 | @cindex eww | ||
| 81 | @cindex Web Browsing | ||
| 82 | You can open a URL or search the web with the command @kbd{M-x eww}. | ||
| 83 | If the input doesn't look like a URL or domain name the web will be | ||
| 84 | searched via @code{eww-search-prefix}. The default search engine is | ||
| 85 | @url{https://duckduckgo.com, DuckDuckGo}. If you want to open a file | ||
| 86 | either prefix the path with @code{file://} or use the command @kbd{M-x | ||
| 87 | eww-open-file}. | ||
| 88 | |||
| 89 | @findex eww-quit | ||
| 90 | @findex eww-reload | ||
| 91 | @findex eww-copy-page-url | ||
| 92 | @kindex q | ||
| 93 | @kindex w | ||
| 94 | @kindex g | ||
| 95 | If loading the URL was successful the buffer @code{*eww*} is opened | ||
| 96 | and the web page is rendered in it. You can leave EWW by pressing | ||
| 97 | @kbd{q} or exit the browser by calling @kbd{eww-quit}. To reload the | ||
| 98 | web page hit @kbd{g} (@code{eww-reload}). Pressing @kbd{w} | ||
| 99 | (@code{eww-copy-page-url}) will copy the current URL to the kill ring. | ||
| 100 | |||
| 101 | @findex eww-download | ||
| 102 | @vindex eww-download-path | ||
| 103 | @kindex d | ||
| 104 | @cindex Download | ||
| 105 | A URL under the point can be downloaded with @kbd{d} | ||
| 106 | (@code{eww-download}). The file will be written to the directory | ||
| 107 | specified in @code{eww-download-path} (Default: @file{~/Downloads/}). | ||
| 108 | |||
| 109 | @findex eww-back-url | ||
| 110 | @findex eww-forward-url | ||
| 111 | @findex eww-list-histories | ||
| 112 | @kindex r | ||
| 113 | @kindex l | ||
| 114 | @kindex H | ||
| 115 | @cindex History | ||
| 116 | EWW remembers the URLs you have visited to allow you to go back and | ||
| 117 | forth between them. By pressing @kbd{l} (@code{eww-back-url}) you go | ||
| 118 | to the previous URL. You can go forward again with @kbd{r} | ||
| 119 | (@code{eww-forward-url}). If you want an overview of your browsing | ||
| 120 | history press @kbd{H} (@code{eww-list-histories}) to open the history | ||
| 121 | buffer @code{*eww history*}. The history is lost when EWW is quit. | ||
| 122 | If you want to remember websites you can use bookmarks. | ||
| 123 | |||
| 124 | @findex eww-add-bookmark | ||
| 125 | @findex eww-list-bookmarks | ||
| 126 | @kindex b | ||
| 127 | @kindex B | ||
| 128 | @cindex Bookmarks | ||
| 129 | EWW allows you to @dfn{bookmark} URLs. Simply hit @kbd{b} | ||
| 130 | (@code{eww-add-bookmark}) to store a bookmark for the current website. | ||
| 131 | You can view stored bookmarks with @kbd{B} | ||
| 132 | (@code{eww-list-bookmarks}). This will open the bookmark buffer | ||
| 133 | @code{*eww bookmarks*}. | ||
| 134 | |||
| 135 | @findex eww-browse-with-external-browser | ||
| 136 | @vindex shr-external-browser | ||
| 137 | @vindex eww-use-external-browser-for-content-type | ||
| 138 | @kindex & | ||
| 139 | @cindex External Browser | ||
| 140 | Although EWW and shr.el do their best to render webpages in GNU | ||
| 141 | Emacs some websites use features which can not be properly represented | ||
| 142 | or are not implemented (E.g., JavaScript). If you have trouble | ||
| 143 | viewing a website with EWW then hit @kbd{&} | ||
| 144 | (@code{eww-browse-with-external-browser}) inside the EWW buffer to | ||
| 145 | open the website in the external browser specified by | ||
| 146 | @code{shr-external-browser}. Some content types, such as video or | ||
| 147 | audio content, do not make sense to display in GNU Emacs at all. You | ||
| 148 | can tell EWW to open specific content automatically in an external | ||
| 149 | browser by customizing | ||
| 150 | @code{eww-use-external-browser-for-content-type}. | ||
| 151 | |||
| 152 | @node Advanced | ||
| 153 | @chapter Advanced | ||
| 154 | |||
| 155 | @findex eww-view-source | ||
| 156 | @kindex v | ||
| 157 | @cindex Viewing Source | ||
| 158 | You can view the source of a website with @kbd{v} | ||
| 159 | (@code{eww-view-source}). This will open a new buffer | ||
| 160 | @code{*eww-source*} and insert the source. The buffer will be set to | ||
| 161 | @code{html-mode} if available. | ||
| 162 | |||
| 163 | @findex url-cookie-list | ||
| 164 | @kindex C | ||
| 165 | @cindex Cookies | ||
| 166 | EWW handles cookies through the @ref{Top, url package, ,url}. | ||
| 167 | You can list existing cookies with @kbd{C} (@code{url-cookie-list}). | ||
| 168 | For details about the Cookie handling @xref{Cookies,,,url}. | ||
| 169 | |||
| 170 | @vindex eww-header-line-format | ||
| 171 | @cindex Header | ||
| 172 | The header line of the EWW buffer can be changed by customizing | ||
| 173 | @code{eww-header-line-format}. The format replaces @code{%t} with the | ||
| 174 | title of the website and @code{%u} with the URL. | ||
| 175 | |||
| 176 | @c @vindex shr-bullet | ||
| 177 | @c @vindex shr-hr-line | ||
| 178 | @c @vindex eww-form-checkbox-selected-symbol | ||
| 179 | @c @vindex eww-form-checkbox-symbol | ||
| 180 | @c EWW and the rendering engine shr.el use ASCII characters to | ||
| 181 | @c represent some graphical elements, such as bullet points | ||
| 182 | @c (@code{shr-bullet}), check boxes | ||
| 183 | @c (@code{eww-form-checkbox-selected-symbol} and | ||
| 184 | @c @code{eww-form-checkbox-symbol}), and horizontal rules | ||
| 185 | @c @code{shr-hr-line}). Depending on your fonts these characters can be | ||
| 186 | @c replaced by Unicode glyphs to achieve better looking results. | ||
| 187 | |||
| 188 | @vindex shr-max-image-proportion | ||
| 189 | @vindex shr-blocked-images | ||
| 190 | @cindex Image Display | ||
| 191 | Loading random images from the web can be problematic due to their | ||
| 192 | size or content. By customizing @code{shr-max-image-proportion} you | ||
| 193 | can set the maximal image proportion in relation to the window they | ||
| 194 | are displayed in. E.g., 0.7 means an image is allowed to take up 70% | ||
| 195 | of the width and height. If Emacs supports image scaling (ImageMagick | ||
| 196 | support required) then larger images are scaled down. You can block | ||
| 197 | specific images completely by customizing @code{shr-blocked-images}. | ||
| 198 | |||
| 199 | @node History and Acknowledgments | ||
| 200 | @appendix History and Acknowledgments | ||
| 201 | |||
| 202 | EWW was originally written by Lars Ingebrigtsen, known for his work on | ||
| 203 | Gnus. He started writing an Emacs HTML rendering library, | ||
| 204 | @code{shr.el}, to read blogs in Gnus. He eventually added a web | ||
| 205 | browser front end and HTML form support. Which resulted in EWW, the | ||
| 206 | Emacs Web Wowser. EWW was announced on 16 June 2013: | ||
| 207 | @url{http://lars.ingebrigtsen.no/2013/06/16/eww/}. | ||
| 208 | |||
| 209 | EWW was then moved from the Gnus repository to GNU Emacs and several | ||
| 210 | developers started contributing to it as well. A list of contributors | ||
| 211 | at the time of writing this manual: | ||
| 212 | |||
| 213 | @itemize @bullet | ||
| 214 | @item Daniel Hackney | ||
| 215 | @item Eli Zaretskii | ||
| 216 | @item Glenn Morris | ||
| 217 | @item Ivan Kanis | ||
| 218 | @item Juri Linkov | ||
| 219 | @item Katsumi Yamaoka | ||
| 220 | @item Kenjiro NAKAYAMA | ||
| 221 | @item Lars Magne Ingebrigtsen | ||
| 222 | @item Leo Liu | ||
| 223 | @item Paul Eggert | ||
| 224 | @item Rüdiger Sonderfeld | ||
| 225 | @item Stefan Monnier | ||
| 226 | @item Ted Zlatanov | ||
| 227 | @end itemize | ||
| 228 | |||
| 229 | @node GNU Free Documentation License | ||
| 230 | @chapter GNU Free Documentation License | ||
| 231 | @include doclicense.texi | ||
| 232 | |||
| 233 | @node Key Index | ||
| 234 | @unnumbered Key Index | ||
| 235 | |||
| 236 | @printindex ky | ||
| 237 | |||
| 238 | @node Variable Index | ||
| 239 | @unnumbered Variable Index | ||
| 240 | |||
| 241 | @printindex vr | ||
| 242 | |||
| 243 | @node Lisp Function Index | ||
| 244 | @unnumbered Function Index | ||
| 245 | |||
| 246 | @printindex fn | ||
| 247 | |||
| 248 | @node Concept Index | ||
| 249 | @unnumbered Concept Index | ||
| 250 | |||
| 251 | @printindex cp | ||
| 252 | |||
| 253 | |||
| 254 | @bye | ||
| @@ -895,6 +895,7 @@ has not been relevant for some time. | |||
| 895 | 895 | ||
| 896 | * New Modes and Packages in Emacs 24.4 | 896 | * New Modes and Packages in Emacs 24.4 |
| 897 | 897 | ||
| 898 | +++ | ||
| 898 | ** New package `eww' is a built-in web browser. | 899 | ** New package `eww' is a built-in web browser. |
| 899 | It is only available if Emacs is compiled with libxml2 support. | 900 | It is only available if Emacs is compiled with libxml2 support. |
| 900 | 901 | ||