[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 58b88d8 39/51: Merge: doc style improvements
From: |
Noam Postavsky |
Subject: |
[elpa] master 58b88d8 39/51: Merge: doc style improvements |
Date: |
Sun, 13 May 2018 13:11:45 -0400 (EDT) |
branch: master
commit 58b88d8be65c77130d856a59e1c4d8c636e6e997
Merge: 3d7cafc d364425
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>
Merge: doc style improvements
---
Rakefile | 4 ++
doc/nav-menu.html.inc | 4 +-
doc/snippet-expansion.org | 8 ++--
doc/snippet-menu.org | 2 +-
doc/snippet-organization.org | 7 ++--
doc/stylesheets/manual.css | 33 ++++++++++------
doc/stylesheets/styles.css | 93 --------------------------------------------
doc/yas-doc-helper.el | 78 ++++++++++++++++++++++++++++++-------
yasnippet.el | 5 ++-
9 files changed, 104 insertions(+), 130 deletions(-)
diff --git a/Rakefile b/Rakefile
index 83c6257..c63d269 100644
--- a/Rakefile
+++ b/Rakefile
@@ -50,6 +50,10 @@ task :release => [:package, 'doc:archive'] do
raise "Not implemented for github yet!"
end
+# rake doc[../htmlize]
+#
+# To do this interactively, load doc/yas-doc-helper, open one of the
+# org files, and do `C-c C-e P'.
desc "Generate document"
task :doc, [:htmlize] do |t, args|
load_path = '-L .'
diff --git a/doc/nav-menu.html.inc b/doc/nav-menu.html.inc
index 2a3f0a1..3e74cf8 100644
--- a/doc/nav-menu.html.inc
+++ b/doc/nav-menu.html.inc
@@ -3,8 +3,8 @@
<li> <a href="index.html">Overview</a>
<li> <a
href="https://github.com/joaotavora/yasnippet/blob/master/README.mdown">
Intro and Tutorial</a>
- <li class="center">Snippet
- <ul>
+ <li class="center border">Snippet
+ <ul class="nopad">
<li> <a href="snippet-organization.html">Organization</a>
<li> <a href="snippet-expansion.html">Expansion</a>
<li> <a href="snippet-development.html">Development</a>
diff --git a/doc/snippet-expansion.org b/doc/snippet-expansion.org
index a14ce15..a699d57 100644
--- a/doc/snippet-expansion.org
+++ b/doc/snippet-expansion.org
@@ -21,7 +21,7 @@
- Using hippie-expand
- - Call [[sym:yas-insert-snippet][=yas-insert-snippet=]] (use =M-x
yas-insert-snippet== or its
+ - Call [[sym:yas-insert-snippet][=yas-insert-snippet=]] (use =M-x
yas-insert-snippet= or its
keybinding =C-c & C-s=).
- Use m2m's excellent auto-complete
@@ -77,7 +77,7 @@ obsolete.
** Insert at point
-The command [[#yas-insert-snippet][=yas-insert-snippet=]] lets you insert
snippets at point
+The command [[sym:yas-insert-snippet][=yas-insert-snippet=]] lets you insert
snippets at point
/for your current major mode/. It prompts you for the snippet key
first, and then for a snippet template if more than one template
exists for the same key.
@@ -94,7 +94,7 @@ The prompting methods used are again controlled by
It's often useful to inject already written text in the middle of a
snippet. The variable
[[sym:yas-wrap-around-region][=yas-wrap-around-region=]] when to t substitute
the region contents into the =$0= placeholder of a snippet expanded by
-[[#yas-insert-snippet][=yas-insert-snippet=]]. Setting it to a character
value (e.g. =?0=)
+[[sym:yas-insert-snippet][=yas-insert-snippet=]]. Setting it to a character
value (e.g. =?0=)
will insert the contents of corresponding register.
Older (versions 0.9.1 and below) of Yasnippet, supported a setting of
@@ -169,7 +169,7 @@ In particular, the following things matter:
- Buffer-local list of extra modes
- Use [[#yas-activate-extra-mode][=yas-activate-extra-mode=]] to
+ Use [[sym:yas-activate-extra-mode][=yas-activate-extra-mode=]] to
consider snippet tables whose name does not correspond to a major
mode. Typically, you call this from a minor mode hook, for example:
diff --git a/doc/snippet-menu.org b/doc/snippet-menu.org
index 272ea16..fee3a19 100644
--- a/doc/snippet-menu.org
+++ b/doc/snippet-menu.org
@@ -24,7 +24,7 @@ In this menu, you can find
Invoking "Load snippets..." from the menu invokes
[[sym:yas-load-directory][=yas-load-directory=]]
and prompts you for a snippet directory hierarchy to load.
-Also useful is the "Reload everything" item to invoke
[[#yas-reload-all][=yas-reload-all=]]
+Also useful is the "Reload everything" item to invoke
[[sym:yas-reload-all][=yas-reload-all=]]
which uncondionally reloads all the snippets directories defined in
[[sym:yas-snippet-dirs][=yas-snippet-dirs=]] and rebuilds the menus.
diff --git a/doc/snippet-organization.org b/doc/snippet-organization.org
index 746cff0..22d3e46 100644
--- a/doc/snippet-organization.org
+++ b/doc/snippet-organization.org
@@ -4,8 +4,9 @@
* Basic structure
- Snippet collections can be stored in plain text files. They are arranged by
- sub-directories naming *snippet tables*. These mostly name Emacs major
names.
+ Snippet collections can be stored in plain text files. They are
+ arranged by sub-directories naming *snippet tables*. These mostly
+ name Emacs major mode names.
#+begin_example
.
@@ -81,7 +82,7 @@
If you place an empty plain text file =.yas-make-groups= inside one
of the mode directories, the names of these sub-directories are
- considered groups of snippets and [[snippet-menu.org][the menu]] is
organized much more
+ considered groups of snippets and [[file:snippet-menu.org][the menu]] is
organized much more
cleanly:
[[./images/menu-groups.png]]
diff --git a/doc/stylesheets/manual.css b/doc/stylesheets/manual.css
index 9580347..74bfe16 100644
--- a/doc/stylesheets/manual.css
+++ b/doc/stylesheets/manual.css
@@ -1,5 +1,14 @@
-nav > ul > li.center > ul {
- padding: 0;
+.center { margin-left: auto; margin-right: auto; text-align: center; }
+.current {
+ font-weight: bold;
+ background-color: #E0E8F0;
+}
+
+body { background-color: #E4F0F4 }
+div#content {
+ max-width: 20cm;
+ margin-left: auto;
+ margin-right: auto;
}
nav li {
@@ -9,20 +18,22 @@ nav li {
list-style-type: none;
padding: 0.5em;
}
-
nav > ul > li {
display: inline-block;
}
-
-/* match org's css for <pre> */
-code {
- background-color: #F3F5F7;
- font-family: courier, monospace;
+.nopad {
+ padding: 0;
+}
+li.border {
+ border: solid;
+ border-width: 1px;
}
-#content {
- margin-left: 5%;
- margin-right: 10%;
+pre, code{ background-color: #F3F5F7; }
+code {
+ /*
http://neugierig.org/software/chromium/notes/2009/09/monospace-fonts-workaround.html
*/
+ font-family: WorkAroundWebKitAndMozilla, monospace;
+ white-space: nowrap;
}
/* Styles for htmlize.el fontification. */
diff --git a/doc/stylesheets/styles.css b/doc/stylesheets/styles.css
deleted file mode 100644
index a158012..0000000
--- a/doc/stylesheets/styles.css
+++ /dev/null
@@ -1,93 +0,0 @@
address@hidden all
-{
- body {
- margin: 1em auto;
- /*margin: 10px 18% 10px 18%;*/
- font-family: Arial;
- /*text-align: justify;*/
- font-size: 14pt;
- padding: 10px;
- line-height: 1.2em;
- max-width: 600pt;
- }
-
- div#table-of-contents {
- position: fixed;
- left: 0%;
- right: 0%;
- top: 0px;
- z-index: 100;
- background: black;
- }
-
- div#table-of-contents h2 {
- display: none;
- }
-
- div#table-of-contents a {
- text-decoration: none;
- color: white;
- }
-
- div#table-of-contents a:visited {
- color: white;
- }
-
- div#table-of-contents a:hover {
- color: orange;
- }
-
- div.outline-2 h2{
- padding-top: 50px;
- }
-
- div#text-table-of-contents {
- text-color: white;
- text-align: center;
- margin-left: 30%;
- margin-right: 30%;
- }
-
- div#text-table-of-contents ul {
- height: 2em;
- width: 500px;
- list-style: none;
- margin: auto;
- }
-
- div#text-table-of-contents ul li {
- float: left;
- margin-left:auto;
- margin-right: auto;
- padding-left: 10px;
- }
-
- div#postamble{
- position: fixed;
- width: 800px;
- height: 250px;
- left: 50%;
- right: 50%;
- margin:-75px 0 0 -400px;
- bottom: -20px;
- font-size: 10pt;
- color: grey;
- background: url('siscog-bottom-logo.png') no-repeat;
- /* background-size: 100% 100%; */
- }
-
- div#postamble *{
- display: none;
- }
-
- div#postamble p.date{
- position: relative;
- bottom: -200px;
- text-align: center;
- display: block;
- }
-
-
-
-
-}
\ No newline at end of file
diff --git a/doc/yas-doc-helper.el b/doc/yas-doc-helper.el
index e272e41..f48628f 100644
--- a/doc/yas-doc-helper.el
+++ b/doc/yas-doc-helper.el
@@ -31,13 +31,14 @@
(require 'ox-publish))
(require 'yasnippet) ; docstrings must be loaded
-(defun yas--org-raw-html (tag content)
+(defun yas--org-raw-html (tag content &optional attrs)
;; in version 8.0 org-mode changed the export syntax, see
;; http://orgmode.org/worg/org-8.0.html#sec-8-1
(format (if (version< org-version "8.0.0")
"@<%s>%s@</%s>" ; old: @<tag>
"@@html:<%s>@@%s@@html:</%s>@@") ; new: @@html:<tag>@@
- tag content tag))
+ (concat tag (if attrs " ") attrs)
+ content tag))
(defun yas--document-symbol (symbol level)
(let* ((stars (make-string level ?*))
@@ -45,14 +46,17 @@
(mapcar #'symbol-name (help-function-arglist symbol t))))
(heading (cond ((fboundp symbol)
(format
- "%s =%s= (%s)" stars symbol
+ "%s %s (%s)\n" stars (yas--org-raw-html "code"
symbol "class='function'")
(mapconcat (lambda (a)
(format (if (string-prefix-p "&" a)
- "/%s/" "=%s=") a))
+ "/%s/" "=%s=")
+ a))
args " ")))
(t
- (format "%s =%s=\n" stars symbol))))
+ (format "%s %s\n" stars
+ (yas--org-raw-html "code" symbol
"class='variable'")))))
(after-heading (format ":PROPERTIES:\n:CUSTOM_ID: %s\n:END:" symbol))
+ (text-quoting-style 'grave)
(body (or (cond ((fboundp symbol)
(let ((doc-synth (car-safe (get symbol
'function-documentation))))
(if (functionp doc-synth)
@@ -64,10 +68,17 @@
(format "*WARNING*: no symbol named =%s=" symbol)))
(format "*WARNING*: no doc for symbol =%s=" symbol)))
(case-fold-search nil))
- ;; do some transformations on the body:
+ ;; Do some transformations on the body:
;; ARGxxx becomes @<code>arg@</code>xxx
;; FOO becomes /foo/
;; `bar' becomes [[#bar][=bar=]]
+ ;; (...) becomes #+BEGIN_SRC elisp (...) #+END_SRC
+ ;; Info node `(some-manual) Node Name' becomes
+ ;;
[[https://www.gnu.org/software/emacs/manual/html_node/some-manual/Node-Name.html]
+ ;; [(some-manual) Node Name]]
+ ;;
+ ;; This is fairly fragile, though it seems to be working for
+ ;; now...
(setq body (replace-regexp-in-string
"\\<\\([A-Z][-A-Z0-9]+\\)\\(\\sw+\\)?\\>"
#'(lambda (match)
@@ -82,16 +93,41 @@
match1)))
body t t 1)
body (replace-regexp-in-string
- "`\\([a-z-]+\\)'"
+ "\\\\{[^}]+}"
+ (lambda (match)
+ (concat "#+BEGIN_EXAMPLE\n"
+ (substitute-command-keys match)
+ "#+END_EXAMPLE\n"))
+ body t t)
+ body (substitute-command-keys body)
+ body (replace-regexp-in-string
+ "Info node `(\\([-a-z]+\\)) \\([A-Za-z0-9 ]+\\)'"
+ (lambda (match)
+ (let* ((manual (match-string 1 match))
+ (node (match-string 2 match))
+ (html-node (replace-regexp-in-string " " "-" node t
t)))
+ (format "Info node\
+ [[https://www.gnu.org/software/emacs/manual/html_node/%s/%s.html][(%s) %s]]"
+ manual html-node manual node)))
+ body t t)
+ body (replace-regexp-in-string
+ "`\\([-a-z]+\\)'"
#'(lambda (match)
(let* ((name (downcase (match-string 1 match)))
- (sym (intern name)))
+ (sym (intern-soft name)))
(if (memq sym yas--exported-syms)
(format "[[#%s][=%s=]]" name name)
(format "=%s=" name))))
- body t))
+ body t t)
+ body (replace-regexp-in-string
+ "\n\n +(.+\\(?:\n +.+\\)*"
+ (lambda (match)
+ (concat "\n#+BEGIN_SRC elisp\n"
+ match
+ "\n#+END_SRC\n"))
+ body t t))
;; output the paragraph
- (concat heading "\n" after-heading "\n" body)))
+ (concat heading after-heading "\n" body)))
(defun yas--document-symbols (level &rest names-and-predicates)
(let ((sym-lists (make-vector (length names-and-predicates) nil))
@@ -118,6 +154,22 @@
;; This lets all the org files be exported to HTML with
;; `org-publish-current-project' (C-c C-e P).
+(defun yas--make-preamble (props)
+ "Return contents of nav-menu-html.inc.
+But replace link to \"current\" page with a span element."
+ (with-temp-buffer
+ (let ((dir (file-name-directory (plist-get props :input-file))))
+ (insert-file-contents (expand-file-name "nav-menu.html.inc" dir))
+ (goto-char (point-min))
+ (search-forward (concat "<a href=\""
+ (file-name-nondirectory
+ (plist-get props :output-file))
+ "\">"))
+ (replace-match "<span class='current'>")
+ (search-forward "</a>")
+ (replace-match "</span>")
+ (buffer-string))))
+
(let* ((dir (if load-file-name (file-name-directory load-file-name)
default-directory))
(src-epoch (getenv "SOURCE_DATE_EPOCH"))
@@ -138,10 +190,8 @@
`(,@(when (fboundp 'org-html-publish-to-html)
'(:publishing-function org-html-publish-to-html))
:base-directory ,dir :publishing-directory ,dir
- :html-preamble
- ,(with-temp-buffer
- (insert-file-contents (expand-file-name "nav-menu.html.inc" dir))
- (buffer-string))
+ :html-preamble yas--make-preamble
+ ;;:with-broken-links mark
:html-postamble
,(concat "<hr><p class='creator'>Generated by %c from "
(or rev yas--version) " " date "</p>\n"
diff --git a/yasnippet.el b/yasnippet.el
index 11bc270..0d41241 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -237,7 +237,7 @@ nil.
- To signal that the user quit the prompting process, you can
signal `quit' with
- (signal \\='quit \"user quit!\")."
+ (signal \\='quit \"user quit!\")"
:type '(repeat function))
(defcustom yas-indent-line 'auto
@@ -2946,7 +2946,8 @@ Otherwise signal `yas-exception'."
(defun yas-field-value (number)
"Get the string for field with NUMBER.
-Use this in primary and mirror transformations to tget."
+Use this in primary and mirror transformations to get the text of
+other fields."
(let* ((snippet (car (yas-active-snippets)))
(field (and snippet
(yas--snippet-find-field snippet number))))
- [elpa] master d364425 38/51: * yasnippet.el (yas-field-value): Fix docstring., (continued)
- [elpa] master d364425 38/51: * yasnippet.el (yas-field-value): Fix docstring., Noam Postavsky, 2018/05/13
- [elpa] master 05ac1da 31/51: ; yasnippet-tests.el (yas-no-memory-of-bad-snippet): Fix docstring., Noam Postavsky, 2018/05/13
- [elpa] master 3032337 37/51: Improve rendering of docstrings in manual's reference section, Noam Postavsky, 2018/05/13
- [elpa] master ae95810 43/51: ; Try to get more info about 873/919, Noam Postavsky, 2018/05/13
- [elpa] master 15761e8 41/51: Adjust previous fix, Noam Postavsky, 2018/05/13
- [elpa] master 0afc638 35/51: Fix docs for new org mode, Noam Postavsky, 2018/05/13
- [elpa] master 1668607 46/51: Don't add to disabled undo list, Noam Postavsky, 2018/05/13
- [elpa] master f9231b0 47/51: Work around Emacs Bug#30931 (Misc_Free in undo list), Noam Postavsky, 2018/05/13
- [elpa] master 4755aa9 49/51: Clarify behavior of mirror transforms, Noam Postavsky, 2018/05/13
- [elpa] master e261832 36/51: Add some styling to doc, improve top menu, Noam Postavsky, 2018/05/13
- [elpa] master 58b88d8 39/51: Merge: doc style improvements,
Noam Postavsky <=
- [elpa] master e64297e 51/51: * packages/yasnippet: Merge version 0.13.0 from upstream., Noam Postavsky, 2018/05/13