Skip to content

Latest commit

 

History

History
473 lines (470 loc) · 23.8 KB

CHANGELOG.org

File metadata and controls

473 lines (470 loc) · 23.8 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • org-noter-property-location-lock (NOTER_PAGE_LOCK) property that inhibit org-noter-set-start-location from changing the location of a note.

Fixed

  • Symbol definition is void error from org-noter-citar.el by removing citar--ensure-entries.

Removed

1.15.0 [2022-05-31 Tue]

Added

  • Option org-noter-create-skeleton-functions, list of function that inserts a tree of headlines according to the outline of the document.

Changed

  • Move skeleton functions to their own files.

Renamed / Deprecated

  • org-noter-set-up-document-handler -> org-noter-set-up-document-hook.

Removed

  • Revert using org-element-cache-map.

Fixed

  • Not recognizing location in file-level property.
  • Wrong number of arguments error in org-noter--doc-approx-location.
  • Not parsing the document property before comparing to document path.
  • org-noter–get-view-info don’t work with drawer as root.
  • doc-mode and note-mode overlapping when using a single buffer.
  • Before first heading error in org-noter--focus-notes-region.

1.14.0 [2022-04-12 Tue]

Added

  • Allow links as document property.
  • Option org-noter-open-document-functions, list of functions that gives a buffer when passed with a document property.
  • org-noter-citar.el also give URL as document.
  • Handle single window layout when opening a URL.

Changed

  • Use org-noter--get-or-read-document-property in org-noter-sync-current-note.
  • Remove org-roam-bibtex dependency in org-noter-citar.el.

Removed

  • org-noter--doc-approx-location-cons

Fixed

  • Fixes for org-pdftools location link in #93.
  • Killing the base buffer of note file when org-noter-use-indirect-buffer is nil.

1.13.0 [2022-03-11 Fri]

Added

  • Option org-noter-get-buffer-file-name-hook, a list of functions that when passed a major mode, will return the current buffer file name.
  • Option org-noter-set-up-document-handler
  • Option org-noter--doc-approx-location-hook
  • Option org-noter--get-current-view-hook
  • Option org-noter-get-selected-text-hook

Changed

  • Modularization of all document formats

1.12.0 [2022-01-17 Mon]

Added

#+BEGIN: note PRECISE-LOCATION
NOTE
#+END:
  • Option org-noter--get-containing-element-hook, list of functions that will be called by org-noter--get-containing-element to get the org element of the note.
  • Option org-noter--get-location-property-hook, a list of functions that will return the note location of an org element.

Changed

  • Delegates getting the org element of the note to org-noter--get-containing-element.
  • Using edges as precise location for pdf files.

Fixed

  • “Before first heading” error when starting a session in a file with no headings.

1.11.0 [2022-01-14 Fri]

Added

  • Support an org file with no headings.
  • org-noter-citar.el a module that helps finding note files via citar.
  • Speed up page turning by using org-element-cache-map. [YANKED]
  • Option org-noter-parse-document-property-hook, a list of functions that return a file name for the value of the property org-noter-property-doc-file.
  • Option org-noter-prefer-root-as-file-level (default nil) When non-nil, org-noter will always try to return the file-level property drawer even when there are headings.

1.10.0 [2021-12-26 Sun]

Added

  • Option org-noter-swap-window (default nil)
  • Option org-noter-disable-narrowing (default nil)
  • Option org-noter-use-indirect-buffer (default t)
  • Option org-noter-find-additional-notes-functions, a list of functions that when given a document file path as argument, give out an org note file path.

Changed

  • Org-noter can be called without headline.
  • Separate core functions to org-noter-core.el.

Fixed

  • Setting property drawer to read-only when there is no drawer.
  • Emacs crashing when note buffer is not setup.

1.9.0 [2021-11-21 Sun]

Added

Renamed

  • get-location-page -> ~org-noter--get-location-page

Fixed

  • org-noter-nov-overlay.el only make overlays when the page matches.
  • org-noter-nov-overlay.el only make overlays when the location is precise.

1.8.0 [2021-09-15 Wed]

Added

  • Allow keyword as a document property.
    #+NOTER_DOCUMENT: /path/to/doc.pdf
        
  • Allow document property to be file-level
:PROPERTIES:
:NOTER_DOCUMENT: /path/to/doc.pdf
:END:
* First heading
brah brah brah

Changed

  • Use active region as precise info for djvu and epub files.

Renamed

  • get-location-top -> ~org-noter--get-location-top
  • get-location-left -> org-noter--get-location-left

1.7.0 [2021-01-13 Wed]

Added

  • Modified version of pdf-util-tooltip-arrow called pdf-util-tooltip-arrow-with-image-left to handle x axis arrow.
  • get-location-page, get-location-top & get-location-left to help with getting the value of precise location.

Changed

  • The format for precise location of a pdf becomes (PAGE X . Y).

1.6.0 [2021-09-13 Mon]

Added

  • org-noter-create-skeleton-djvu for creating skeleton for djvu files.

Changed

  • org-noter--doc-goto-location also move point for djvu files.
  • org-noter-insert-note additionally take NOTE-TITLE as an argument.
  • Refactor most code of org-noter-create-skeleton to org-noter-create-skeleton-pdf.

1.5.0 [2021-09-04 Sat]

Added

Changed

1.4.1[2019-10-25 Fri]

Fixed

  • Missing quote in org-noter--get-precise-info.

1.4.0 [2019-09-29 Sun]

Added

  • Option org-noter-insert-heading-hook for running functions after inserting notes.
  • Option org-noter-kill-frame-at-session-end.
  • Command org-noter-jump-to-note to jump from annotation to org heading.
  • Support annotating attached document.
  • Use org-id for org-pdftools locations.
  • Use org-pdftools links by org-noter-create-skeleton.
  • Integration with org-pdftools in org-noter-integration.el.

Fixed

  • Single frame deletion error.
  • Error about structs for Emacs < 26.
  • Narrowing heading with no children.

1.3.0 [2018-10-26 Fri]

Added

  • Option org-noter-doc-property-in-notes that make org-noter put document property to every new note.
  • Record session id as text properties in the text in note buffer.
  • Inserting note without question with the option org-noter-insert-note-no-questions, the command org-noter-insert-note-toggle-no-questions can also be used with the keybinding C-i.

Changed

  • org-noter-hide-other is set to true as a default.

Fixed

  • Optimization of narrowing helper functions.
  • Killing buffer not from session.
  • Moving the point when focusing on notes
  • Unnecessary newlines with creating multiple notes.
  • Wrong root when creating a session in indirect buffer.
  • Let user insert space when creating note.

1.2.0 [2018-08-16 Thu]

Added

  • Option org-noter-closest-tipping-point can be overrode with the property NOTER_CLOSEST_TIPPING_POINT per file or set the value with org-noter-set-closest-tipping-point.
  • Option org-noter-set-doc-split-fraction to control the size of the split can be overrode with the property NOTER_DOCUMENT_SPLIT_FRACTION or by setting org-noter-set-doc-split-fraction.
  • org-noter--get-view-info to help with creating note.
  • only-prev behavior for org-noter-notes-window-behavior.

Changed

  • Refactor some code in org-noter--focus-notes-region to org-noter--show-note-entry.
  • org-noter-insert-note no longer takes prefix argument.

Renamed / Deprecated

  • org-noter--get-notes-for-current-view -> org-noter--get-current-view
  • org-noter-doc-split-percentage -> org-noter-doc-split-fraction

Removed

  • org-noter--get-this-note-last-element
  • org-noter--get-this-note-end

1.1.1[2018-06-26 Tue]

Added

  • Option to choose ALL types of annotation in org-noter-create-skeleton.
  • Option to choose both outline and annotation to generate skeleton.
  • Content and Comment of an annotation will be its children.
  • Subtree for URL in a page when creating a skeleton.

1.1.0 [2018-06-18 Mon]

Added

  • Fallback to using buffer-file-truename when a mode kill buffer-file-name.
  • Using region as precise location.
  • Toggle org-noter-always-create-frame by calling org-noter with prefix argument 0.
  • Showing arrow when syncing notes with org-noter--arrow-location and org-noter--show-arrow.
  • Option org-noter-arrow-delay to set the delay for arrow.
  • Option org-noter-notes-search-path to search for an org mode when start a session for a document.
  • Option org-noter-insert-selected-text-inside-note to make org-noter-insert-note insert the selected text to the note heading aswell.

Changed

  • Convert edges of precise location of annotations in org-noter-create-skeleton to region format with org-noter--pdf-tools-edges-to-region.

Fixed

  • Wrong order of outline (#23).
  • Unable to create a session from EPUB by using nov-file-name.

1.0.2 [2018-05-12 Sat]

Added

  • Using selection as the default title

Changed

  • The outline created by org-noter-create-skeleton no longer separated with newline.

Fixed

  • assert Symbol’s function definition is void error.

1.0.1 [2018-03-31 Sat]

Added

Changed

  • Use if-elseif in org-noter.

1.0 [2018-03-24 Sat]

Added

  • Support for nov.el.
  • Starting a session from the document. If the note file is not found, it will be created. The name of the new file is chose by the user from org-noter-default-notes-file-names.
  • org-noter-create-skeleton can generate annotations as well.
  • The option org-noter-separate-notes-from-heading to insert an empty line after creating a note.
  • org-noter--note-in-view, org-noter--count-notes & org-noter--get-notes-for-current-view as helper functions to show note count in mode line.

Changed

  • org-noter-kill-session will also remove hooks and advisors related to org-noter.

Renamed / Deprecated

  • org-noter--page-property -> org-noter--location-property
  • org-noter--compare-page-cons -> org-noter--compare-location-cons
  • org-noter-property-note-page -> org-noter-property-note-location
  • org-noter--page-change-handler -> org-noter--doc-page-change-handler
  • org-noter--ask-scroll-percentage -> org-noter--ask-precise-location
  • org-noter-sync-prev-page -> org-noter-sync-prev-page-or-chapter
  • org-noter-sync-current-page -> org-noter-sync-current-page-or-chapter
  • org-noter-sync-next-page -> org-noter-sync-next-page-or-chapter
  • org-noter--inhibit-page-handler -> org-noter--inhibit-location-change-handler
  • org-noter--goto-page -> org-noter--doc-goto-location
  • org-noter--doc-page-change-handler -> org-noter--doc-location-change-handler
  • org-noter--doc-view-advice -> org-noter--location-change-advice
  • org-noter--get-slice -> org-noter--doc-get-page-slice
  • org-noter--modeline-text -> org-noter--mode-line-text
  • org-noter--doc-current-page -> org-noter--doc-approx-location

0.12.0 [2018-02-06 Tue]

Added

  • Support for grouping notes in the same headline.
  • Demonstration in Demo.org.
  • Resume session from a note.
  • org-noter-create-skeleton to generate the document outline with org headline.
  • Caching the structure of the file in session for faster retrieval.
  • Customization for reusing existing frame with org-noter-always-create-frame.
  • Hiding unrelated note with org-noter-hide-other, can be toggled with org-noter-set-hide-other, and overrode with org-noter--property-hide-other, NOTER_HIDE_OTHER .

Changed

  • Reword many section of README.
  • Refactor code in org-noter--selected-note-page to its own function, org-noter--get-containing-heading.
  • Refactor code in org-noter--setup-windows to org-noter--get-notes-window.
  • org-noter-set-notes-window-location deletes extra frame displaying only note window.
  • Reuse windows if it’s in the correct configuration.

Fixed

  • Empty session name
  • Error when creating session because current-page symbol is nil.
  • Inconsistency in org-noter-sync-prev-note.
  • Infinite recursion in killing a session.

0.11.0 [2018-01-29 Mon]

Added

  • Note count to mode line.
  • Save progress with the variable org-noter-auto-save-last-page. The variable can be toggled with org-noter-set-auto-save-last-page or override in a file with org-noter-property-auto-save-last-page, NOTER_AUTO_SAVE_LAST_PAGE property.
  • Store ::auto-save-last-page property in session.

Changed

  • org-noter-insert-note will select the document window when user quits while inserting note.
  • org-noter-kill-session will kill the frame of the notes buffer.

Renamed / Deprecated

  • org-noter-property-behavior -> org-noter--property-behavior
  • org-noter-property-location -> org-noter--property-location
  • org-noter-property-auto-save-last-page -> org-noter--property-auto-save-last-page

0.10.0 [2018-01-28 Sun]

Added

  • Override global window settings with org-noter-property-behavior and org-noter-property-location, NOTER_NOTES_BEHAVIOR and NOTER_NOTES_LOCATION respectively.
  • The macro org-noter--with-selected-notes-window.
  • The function org-noter--notes-window-behavior-property and org-noter--notes-window-location-property to get window setting property.
  • The command org-noter-set-notes-window-behavior and org-noter-set-notes-window-location to set window setting.
  • Store :window-behavior and :window-location property in session.
  • org-noter--compare-page-cons to do page comparison.
  • Sync page commands: org-noter-sync-prev-page, org-noter-sync-current-page & org-noter-sync-next-page. See README for their keybindings and explanation.

Changed

  • Refactor most of the code in org-noter command to org-noter--create-session function.
  • org-noter accepts relative file path.

Renamed / Deprecated

  • org-noter--restore-windows -> org-noter--setup-windows

0.9.0 [2018-01-11 Thu]

Added

  • More control over the setup of windows with org-noter-notes-window-behavior and org-noter-notes-window-location.
  • The function org-noter-other-window-config to start org-noter with another window configuration.

Changed

  • Change the package name from alt-interleave.el to org-noter.el.

Renamed / Deprecated

  • Every function is renamed with org-noter as its prefix.
  • Every occurrence of pdf is replaced with doc.

Fixed

  • interleave--focus-notes-region recentering at the beginning of the window.
  • Setting the beginning of the document to read-only.
  • Wrong cl-lib dependency declaration.

0.8.0 [2017-12-18 Mon]

Changed

  • interleave--selected-note-page uses all of the buffer to get root property value.
  • interleave--focus-notes-region also recenters the screen.
  • interleave--restore-windows narrows to root after restoring windows.
  • interleave-kill-session no longer asks for confirmation when the note buffer is modified.

Fixed

  • Inserting headline at the end of the buffer without inserting newline.
  • Calling interleave with prefix argument still consider inherited tags.

0.7.0 [2017-11-28 Tue]

Added

  • interleave-set-start-page command sets the page for the start of a session.
  • interleave-other-window-config command that use another split direction to start.
  • interleave--selected-note-page to get the start page.
  • ideas.org to record some ideas.

Changed

  • Use interleave--get-slice to get a more precise scroll percentage in localized note.
  • Shorten display name of PDF buffer.
  • Users have to choose which notes interleave-insert-note can insert.
  • interleave--narrow-to-root go to the content of root instead of restoring point.

Fixed

  • interleave-kill-session killing modified notes buffer.
  • interleave--page-change-handler focusing on notes with no INTERLEAVE_NOTE_PAGE property.

0.6.0 [2017-11-25 Sat]

Added

  • interleave-insert-localized-note that inserts a note that associate with part of a page.
  • INTERLEAVE_NOTE_PAGE can be in the format of a cons cell; (PAGE_NUMBER . SCROLL_PERCENT).

Changed

  • interleave--goto-page takes number instead of string.

0.5.0 [2017-11-24 Fri]

Added

  • Installation & Usage in README.
  • Users can change the default title of a note with the variable interleave-default-heading-title.
  • Opening only the directory of the PDF by passing prefix argument to interleave
  • Displaying name of documents when killing a session.
  • Storing the level of root heading in session.
  • Customized scroll for windows of interleave session with interleave--set-scroll.

Changed

  • The package is now named alt-interleave.
  • The property for the page of a note is changed back to INTERLEAVE_NOTE_PAGE, for compatibility with Sebastian’s Interleave, users have to change this themselves as instructed in README.
  • Define minor mode for PDF and notes: interleave-pdf-mode, interleave-notes-mode. This is a cleaner way to handle local keybindings.
  • Use windows to set up the session instead of buffers.
  • Restore windows when a session is already opened with interleave--restore-windows.

Removed

  • The variable interleave--inhibit-next-page-change as no functions use it anymore.

Fixed

  • Point not moving at the end of the buffer when syncing the pages.
  • Inserting new line in title when creating notes.

0.4.0 [2017-11-11 Sat]

Added

  • Support for DocView mode.
  • Syncing the note file by going to the nearest note when the page changes.
  • Commands for syncing notes: interleave-sync-previous-page-note, interleave-sync-next-page-note.
  • Customization group called interleave
  • More details in README containing keybindings and features:
    M-pinterleave-sync-next-page-note
    M-.interleave-sync-page-note
    M-ninterleave-sync-next-page-note
    iinterleave-insert-note
    qinterleave-kill-session

Renamed/Deprecated

  • interleave--property-pdf-file -> interleave-property-pdf-file
  • interleave--property-note-page -> interleave-property-note-page

0.3.0 [2017-11-10 Fri]

Added

  • The macro interleave--with-valid-session can be used for other functions to access the information of a session.
  • Making root heading read-only when starting a session.

Changed

  • The property for the page of a note is now INTERLEAVE_PAGE_NOTE for compatibility.

0.2.0 [2017-10-11 Wed]

Added

  • LICENSE file for GNU GPL3 license.
  • README file explaining the reason for a rewrite.
  • interleave-kill-session command to manually kill a session.
  • Killing session automatically with interleave--handle-buffer-kill and interleave--handle-delete-frame used as hook for delete frame functions.
  • The INTERLEAVE_NOTE_PAGE property to store page number of each note.
  • interleave-insert-note command that automatically make a new note with respect to the order of the page number.

Changed

  • Also consider the parent of a note as a “root” if it has the same PDF as its property.
  • Ask user to kill the session instead of giving error when the PDF is already interleaved with another note file.
  • The note window is no longer set as dedicated.

0.1.0 [2017-10-10 Tue]

Added

  • interleave.el copied from Sebastian Christ.
  • Checks for PDF file path e.g. non-existent file, invalid path in interleave command.
  • The ability to use relative file name for PDF file.

Changed

  • Storing information of a session in interleave--sessions instead of relying on text only.
  • Narrowing to a heading when calling interleave.
  • Setting windows for the PDF file and the note file to be dedicated.