[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] Bug: The headers' anchors from custom ids should be at the beginning
From: |
Denis Bitouzé |
Subject: |
[O] Bug: The headers' anchors from custom ids should be at the beginning, and not at the end, of these headers [8.3.1 (8.3.1-129-ga7c8d2-elpa @ /home/bitouze/.emacs.d/elpa/org-20150921/)] |
Date: |
Mon, 21 Sep 2015 21:59:19 +0200 |
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen. You don't know how to make a good report? See
http://orgmode.org/manual/Feedback.html#Feedback
Your bug report will be posted to the Org-mode mailing list.
------------------------------------------------------------------------
The following org file:
#+begin_src org
* Heading with custom id
:PROPERTIES:
:CUSTOM_ID: custom-id-heading
:END:
* Heading bis with custom id and very very very very very very very very very
very very very very very very very very very very very very very very very long
text
:PROPERTIES:
:CUSTOM_ID: custom-id-heading-bis
:END:
See [[#custom-id-heading-bis][heading bis with custom id and very long text]].
#+end_src
is exported as markdown to:
#+begin_src markdown
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#custom-id-heading">1. Heading with custom id</a></li>
<li><a href="#custom-id-heading-bis">2. Heading bis with custom id and very
very very very very very very very very very very very very very very very very
very very very very very very very long text</a></li>
</ul>
</div>
</div>
# Heading with custom id<a id="custom-id-heading"></a>
# Heading bis with custom id and very very very very very very very very very
very very very very very very very very very very very very very very very long
text<a id="custom-id-heading-bis"></a>
See [heading bis with custom id and very long text](#custom-id-heading-bis).
#+end_src
As you can see, the anchor in the .md file is at the end of the header and, in
case this header contains long text, clicking on a link to this anchor would
lead us to the end, eventually not at the first line, of this header.
The expected behavior would be:
#+begin_src markdown
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#custom-id-heading">1. Heading with custom id</a></li>
<li><a href="#custom-id-heading-bis">2. Heading bis with custom id and very
very very very very very very very very very very very very very very very very
very very very very very very very long text</a></li>
</ul>
</div>
</div>
# <a id="custom-id-heading"></a>Heading with custom id
# <a id="custom-id-heading-bis"></a>Heading bis with custom id and very very
very very very very very very very very very very very very very very very very
very very very very very very long text
See [heading bis with custom id and very long text](#custom-id-heading-bis).
#+end_src
I didn't look at it but, from this point of view, I guess other exports are
suboptimal as well.
Emacs : GNU Emacs 24.5.1 (i686-pc-linux-gnu, GTK+ Version 3.14.8)
of 2015-06-29 on drums.chezmoi.fr
Package: Org-mode version 8.3.1 (8.3.1-129-ga7c8d2-elpa @
/home/bitouze/.emacs.d/elpa/org-20150921/)
current state:
==============
(setq
org-entities-user '(("nok" "{\\color{red}\\ding{55}}" nil "<font
color='red'>✘</font>" "NOK"
"NOK" "✘")
("ok" "{\\color{checkmark}\\ding{51}}" nil "<font
color='green'>✔</font>"
"OK" "OK" "✔")
)
org-enforce-todo-checkbox-dependencies t
org-inlinetask-default-state "TODO"
org-agenda-search-view-always-boolean t
org-agenda-log-mode-items '(clock)
org-latex-format-headline-function 'leuven--org-latex-format-headline
org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point
org-babel-execute-safely-maybe)
org-pretty-entities t
org-latex-packages-alist '(("" "listings") ("" "xcolor") ("french" "babel"))
org-html-format-inlinetask-function
'org-html-format-inlinetask-default-function
org-stuck-projects '("+LEVEL=2/-DONE" ("TODO" "STRT") nil "")
org-refile-use-cache t
org-clock-in-resume t
org-clock-out-when-done nil
org-log-states-order-reversed nil
org-odt-preferred-output-format "doc"
org-agenda-sticky t
org-goto-interface 'outline-path-completion
outline-minor-mode-hook '(leuven--outline-minor-mode-hook
(lambda nil
(if (and outline-minor-mode (derived-mode-p (quote
emacs-lisp-mode)))
(progn (hide-sublevels 1000)))
)
)
org-agenda-skip-scheduled-if-done t
org-ellipsis " ►"
org-clock-persist t
org-archive-location "::* Archive"
org-agenda-window-setup 'current-window
org-adapt-indentation nil
org-agenda-entry-text-leaders " │ "
org-agenda-scheduled-leaders '("Scheduled " " ")
org-clock-mode-line-total 'all
org-tab-first-hook '(org-hide-block-toggle-maybe
org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-agenda-exporter-settings '((ps-number-of-columns 1) (ps-landscape-mode t)
(htmlize-output-type (quote css)))
org-archive-hook '(org-attach-archive-delete-maybe)
org-refile-targets '((nil :maxlevel . 4) (nil :maxlevel . 2))
org-html-htmlize-output-type 'css
org-modules '(org-info org-habit org-gnus org-id org-checklist)
org-cycle-hook '(org-inlinetask-hide-tasks org-cycle-hide-archived-subtrees
org-cycle-hide-drawers
org-cycle-show-empty-lines
org-optimize-window-after-visibility-change)
org-html-checkbox-type 'unicode
org-mime-send-subtree-hook '((lambda nil
(org-entry-put (point) "mail_composed"
(current-time-string)))
)
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-confirm-babel-evaluate nil
org-speed-command-hook '(org-speed-command-default-hook
org-babel-speed-command-hook)
org-src-window-setup 'current-window
org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
org-export-preprocess-hook '(leuven--org-export-preprocess-hook)
org-clock-total-time-cell-format "%s"
org-export-snippet-translation-alist '(("b" . "beamer") ("l" . "latex") ("h" .
"html"))
org-agenda-current-time-string "Right now"
org-blocker-hook '(org-block-todo-from-checkboxes
org-block-todo-from-children-or-siblings-or-parent)
org-fontify-done-headline t
org-agenda-skip-deadline-prewarning-if-scheduled 7
org-agenda-restore-windows-after-quit t
org-return-follows-link t
org-babel-pre-tangle-hook '(save-buffer)
org-agenda-diary-file "~/org/diary.org"
org-export-time-stamp-file nil
org-occur-hook '(org-first-headline-recenter)
org-emphasis-alist '(("*" bold "<b>" "</b>") ("/" italic "<i>" "</i>")
("_" underline "<span
style=\"text-decoration:underline;\">" "</span>")
("=" org-verbatim "<code>" "</code>" verbatim)
("~" org-code "<code>" "</code>" verbatim))
org-font-lock-hook '(org-inlinetask-fontify)
org-agenda-auto-exclude-function 'leuven--org-auto-exclude-function
org-refile-target-verify-function 'bh/verify-refile-target
org-speed-commands-user '(("y" org-todo-yesterday "DONE") ("d" org-todo
"DONE"))
org-src-lang-modes '(("dot" . graphviz-dot) ("ocaml" . tuareg) ("elisp"
. emacs-lisp)
("ditaa" . artist) ("asymptote" . asy) ("dot"
. fundamental)
("sqlite" . sql)
("calc" . fundamental) ("C" . c) ("cpp" . c++) ("C++"
. c++)
("screen" . shell-script) ("shell" . sh) ("bash" . sh))
org-log-redeadline 'time
org-clock-history-length 35
org-deadline-warning-days 7
org-html-format-headline-function 'org-html-format-headline-default-function
org-structure-template-alist '(("E" "\\begin{equation}\n?\n\\end{equation}" "")
("C" "#+begin_comment\n?\n#+end_comment")
("t" "#+begin_tip\n?\n#+end_tip")
("w" "#+begin_warning\n?\n#+end_warning")
("n" "#+begin_note\n?\n#+end_note") ("s"
"#+begin_src ?\n\n#+end_src")
("e" "#+begin_example\n?\n#+end_example")
("q" "#+begin_quote\n?\n#+end_quote")
("v" "#+begin_verse\n?\n#+end_verse")
("V" "#+begin_verbatim\n?\n#+end_verbatim")
("c" "#+begin_center\n?\n#+end_center")
("l" "#+begin_latex\n?\n#+end_latex") ("L"
"#+latex: ")
("h" "#+begin_html\n?\n#+end_html") ("H"
"#+html: ")
("a" "#+begin_ascii\n?\n#+end_ascii") ("A"
"#+ascii: ")
("i" "#+index: ?") ("I" "#+include: %file ?"))
org-export-with-sub-superscripts '{}
org-use-sub-superscripts '{}
org-refile-allow-creating-parent-nodes 'confirm
org-clock-out-remove-zero-time-clocks t
org-agenda-skip-timestamp-if-done t
org-metaup-hook '(org-babel-load-in-session-maybe)
org-reveal-start-hook '(org-decrypt-entry)
org-confirm-elisp-link-function 'yes-or-no-p
org-clock-file-time-cell-format "%s"
org-descriptive-links nil
org-fast-tag-selection-single-key t
org-id-link-to-org-use-id 'create-if-interactive-and-no-custom-id
org-cycle-include-plain-lists nil
org-agenda-sorting-strategy '((agenda time-up category-up priority-down
effort-down)
(todo category-up priority-down effort-down)
(tags category-up priority-down effort-down)
(search category-up))
org-log-into-drawer t
org-tag-faces '(("refile" (:slant italic :foreground "#A9876E"))
("personal" (:slant italic :foreground "#5C88D3"))
("work" (:slant italic :foreground "#699761"))
("FLAGGED" (:weight bold :slant italic :foreground
"white" :background "#DB2D27"))
("now" (:slant italic :foreground "#000000"))
("notbillable" (:slant italic :foreground "#8774AF")))
org-publish-list-skipped-files nil
org-default-notes-file "~/org/notes.org"
org-columns-default-format "%60ITEM(Details) %5PRIORITY(Prio)
%14SCHEDULED(Scheduled) %15TAGS(Context) %7TODO(To Do) %6CLOCKSUM(Clock)
%5Effort(Effort){:} "
org-priority-faces '((65 :weight bold :foreground "#5F3731" :background
"#EFC4C0")
(66 :foreground "#475443" :background "#D5E1D0")
(67 :foreground "#2D373F" :background "#C9DBE3"))
org-latex-format-drawer-function '(lambda (name contents) contents)
org-babel-after-execute-hook '(org-display-inline-images)
org-agenda-block-separator
#("____________________________________________________________________________________________________________________________________"
0 132 (face (:foreground "#59ACE2")))
org-src-tab-acts-natively t
org-agenda-span 'day
org-habit-show-habits-only-for-today nil
org-hide-macro-markers t
org-export-backends '(ascii html icalendar latex odt md)
org-agenda-format-date "%Y-%m-%d %a
_"
org-refile-use-outline-path 'file
org-blank-before-new-entry '((heading . t) (plain-list-item . auto))
org-agenda-dim-blocked-tasks nil
org-agenda-deadline-faces '((1.0001 . leuven-org-deadline-overdue)
(0.9999 . leuven-org-deadline-today)
(0.8571 . leuven-org-deadline-tomorrow)
(0.0 . leuven-org-deadline-future))
outline-minor-mode-prefix ""
org-treat-S-cursor-todo-selection-as-state-change nil
org-tag-alist '((:startgroup) ("personal" . 112) ("work" . 119) (:endgroup)
("call" . 99)
("errands" . 101) ("finance" . 102) ("mail" . 109)
("notbillable" . 66)
("ARCHIVE" . 97) ("crypt" . 67) ("FLAGGED" . 63))
org-agenda-persistent-filter t
org-global-properties '(("Effort_ALL" . "0 0:10 0:30 1:00 2:00 3:00 4:00 5:00
6:00 8:00"))
org-highlight-latex-and-related '(latex script entities)
org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
org-link-abbrev-alist '(("cache" . "http://www.google.com/search?q=cache:%s")
("dictionary" .
"http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=%s")
("google" . "http://www.google.com/search?q=%s")
("googlegroups"
. "http://groups.google.com/groups?q=%s")
("googlemaps" . "http://maps.google.com/maps?q=%s")
("imdb" . "http://us.imdb.com/Title?%s")
("openstreetmap"
.
"http://nominatim.openstreetmap.org/search?q=%s&polygon=1")
("wpen" . "http://en.wikipedia.org/wiki/%s")
("wpfr" . "http://fr.wikipedia.org/wiki/%s"))
org-agenda-prefix-format '((agenda . " %-11s%i %?-12t") (timeline . " % s")
(todo . " %i %-12:c")
(tags . " %i %-12:c") (search . " %i %-12:c"))
org-image-actual-width '(320)
org-latex-default-figure-position "!htbp"
org-use-speed-commands t
org-agenda-skip-deadline-if-done t
org-export-before-parsing-hook '(leuven--change-pdflatex-packages
leuven--change-pdflatex-program)
org-list-description-max-indent 3
org-enforce-todo-dependencies t
org-mode-hook '(org-clock-load (lambda nil (local-set-key (kbd "C-c m")
(function org-mime-subtree)))
#[nil "\300\301\302\303\304$\207"
[org-add-hook before-save-hook org-encrypt-entries nil t] 5]
#[nil "\300\301\302\303\304$\207"
[org-add-hook change-major-mode-hook org-show-block-all
append local] 5]
#[nil "\300\301\302\303\304$\207"
[org-add-hook change-major-mode-hook
org-babel-show-result-all append local] 5]
org-babel-result-hide-spec org-babel-hide-all-hashes
leuven--org-add-electric-pairs
leuven--org-switch-dictionary
(lambda nil (require (quote org-clock)) (setq org-clock-persist
t)
(org-clock-persistence-insinuate))
(lambda nil (local-set-key (kbd "C-M-n") (function
outline-next-visible-heading))
(local-set-key (kbd "C-M-p") (function
outline-previous-visible-heading))
(local-set-key (kbd "C-M-u") (function outline-up-heading)))
(lambda nil (local-set-key (kbd "C-M-w") (function
org-table-copy-region))
(local-set-key (kbd "C-M-y") (function
org-table-paste-rectangle))
(local-unset-key (kbd "C-c SPC")) (local-unset-key (kbd "C-c
C-<")))
fci-mode
(lambda nil
(if
(or (eq (aref (buffer-name) 0) 32)
(and (boundp (quote org-babel-exp-reference-buffer))
org-babel-exp-reference-buffer)
)
(message "DON'T TURN ON Flyspell mode in `%s'" (buffer-name))
(message "Turn on Flyspell mode in `%s'" (buffer-name))
(flyspell-mode))
)
org-src-block-check)
org-time-clocksum-format '(:hours "%d" :require-hours t :minutes ":%02d"
:require-minutes t)
org-agenda-clockreport-parameter-plist '(:link t :maxlevel 3 :fileskip0 t)
org-insert-mode-line-in-empty-file t
org-export-with-smart-quotes t
org-special-ctrl-a/e 'reversed
org-startup-with-inline-images t
org-agenda-start-on-weekday nil
org-latex-pdf-process '("latexmk --version" "latexmk -cd -f -pdf
-pdflatex=pdflatex %f && latexmk -c")
org-table-export-default-format "orgtbl-to-csv"
org-agenda-mode-hook '((lambda nil (local-set-key (kbd "C-c m") (function
leuven-mail-subtree))))
org-habit-today-glyph 9483
org-ascii-format-drawer-function '(lambda (name contents width) contents)
org-tags-exclude-from-inheritance '("crypt")
org-babel-results-keyword "results"
org-odt-format-drawer-function '(lambda (name contents) contents)
org-clock-idle-time 120
org-agenda-inhibit-startup t
org-agenda-skip-scheduled-if-deadline-is-shown t
org-show-context-detail '((occur-tree . minimal) (tags-tree . minimal) (isearch
.
lineage)
(bookmark-jump . lineage) (default . ancestors))
org-gnus-prefer-web-links t
org-latex-listings t
org-finalize-agenda-hook '(org-agenda-to-appt
(lambda nil
(let ((inhibit-read-only t)) (goto-char
(point-min))
(org-do-emphasis-faces (point-max)))
)
(lambda nil
(remove-text-properties (point-min) (point-max)
(quote (mouse-face t))))
leuven--org-agenda-right-justify-tags)
org-read-date-prefer-future 'time
org-time-stamp-rounding-minutes '(1 1)
org-export-allow-bind-keywords t
org-html-format-drawer-function '(lambda (name contents) contents)
org-src-preserve-indentation t
org-loop-over-headlines-in-active-region 'start-level
org-open-non-existing-files t
org-babel-no-eval-on-ctrl-c-ctrl-c t
org-export-with-priority t
org-tags-column -80
org-latex-image-default-width ".75\\linewidth"
org-hide-emphasis-markers t
org-clock-in-switch-to-state 'leuven--org-switch-to-started
org-odt-format-headline-function 'org-odt-format-headline-default-function
org-latex-link-with-unknown-path-format "\\colorbox{red}{%s}"
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-todo-keywords '((sequence "NEW(n!)" "TODO(t!)" "STRT(s!)" "WAIT(w!)"
"SDAY(y!)" "|" "DONE(d!)"
"CANX(x!)")
(sequence "QTE(q!)" "QTD(Q!)" "|" "APP(A!)" "REJ(R!)")
(sequence "OPENPO(O!)" "|" "CLSDPO(C!)"))
org-startup-folded nil
org-habit-completed-glyph 10004
org-agenda-time-grid '((daily remove-match) "" (800 1000 1200 1400 1600 1800
2000))
org-clock-in-prepare-hook '(leuven--org-ask-effort)
org-clock-display-default-range 'untilnow
org-todo-repeat-to-state "TODO"
org-agenda-search-headline-for-time nil
org-agenda-finalize-hook '(org-agenda-to-appt
(lambda nil
(let ((inhibit-read-only t)) (goto-char
(point-min))
(org-do-emphasis-faces (point-max)))
)
(lambda nil
(remove-text-properties (point-min) (point-max)
(quote (mouse-face t))))
leuven--org-agenda-right-justify-tags)
org-list-allow-alphabetical t
org-fontify-whole-heading-line t
org-clock-report-include-clocking-task t
org-clock-sound "~/Public/Music/Sounds/alarm.wav"
org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer)
org-after-todo-state-change-hook '(org-clock-out-if-current)
org-html-head-include-scripts nil
org-url-hexify-p nil
org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function
org-babel-tangle-lang-exts '(("awk" . "awk") ("java" . "java") ("latex"
. "tex")
("python" . "py")
("emacs-lisp" . "el") ("elisp" . "el"))
org-todo-keyword-faces '(("NEW" . leuven-org-created-kwd) ("TODO" . org-todo)
("STRT" . leuven-org-in-progress-kwd) ("WAIT"
.
leuven-org-waiting-for-kwd)
("SDAY" . leuven-org-someday-kwd) ("DONE" . org-done)
("CANX" . org-done)
("QTE" . leuven-org-quote-kwd) ("QTD"
.
leuven-org-quoted-kwd)
("APP" . leuven-org-approved-kwd) ("REJ"
.
leuven-org-rejected-kwd)
("OPENPO" . leuven-org-openpo-kwd) ("CLSDPO" .
leuven-org-closedpo-kwd))
org-babel-load-languages '((sql . t) (shell . t) (python . t) (org . t)
(makefile . t) (ledger . t)
(latex . t) (java . t) (dot . t) (ditaa . t) (awk
. t)
(R . t)
(emacs-lisp . t))
org-babel-R-command "R --slave --no-save --ess --encoding=UTF-8"
org-agenda-deadline-leaders '("Deadline " "In %d d" "%d d ago")
org-agenda-tags-todo-honor-ignore-options t
org-latex-format-inlinetask-function
'org-latex-format-inlinetask-default-function
org-after-todo-statistics-hook '(leuven--org-summary-todo)
org-fontify-quote-and-verse-blocks t
org-confirm-shell-link-function 'yes-or-no-p
org-agenda-clock-consistency-checks '(:max-duration "10:00" :min-duration
0 :max-gap "0:00"
:gap-ok-around ("4:00") :default-face
((:weight bold :box (:line-width 1 :color
"#AAEE77")
:foreground "black" :background
"#BFFA9E")
)
:gap-face
((:weight bold :box (:line-width 1 :color
"#BBDDFF")
:foreground "black" :background
"#D0EDFF")
)
)
)
--
Denis
- [O] Bug: The headers' anchors from custom ids should be at the beginning, and not at the end, of these headers [8.3.1 (8.3.1-129-ga7c8d2-elpa @ /home/bitouze/.emacs.d/elpa/org-20150921/)],
Denis Bitouzé <=