Skip to content

A OneNote add-in with simple, yet powerful and useful features

License

Notifications You must be signed in to change notification settings

zhongyue1q/OneMore

 
 

Repository files navigation

logo OneMore - a OneNote Add-in

A OneNote add-in with powerful yet simple and effective features.

See the project wiki for full details. Meanwhile, here's some pleasant reading material...

Want more from OneMore? OneMore has more... Click here to see a list of all features

screenshot

Features (139)

Clean commands (11)

  • Change spacing between sentences to one or two spaces
  • Clear background color and reset text color of selected text
  • Remove author/citation information from paragraphs
  • Remove pasted screen clipping and URL citation lines from page
  • Remove empty headers and "extra" empty lines between paragraphs
  • Remove ink annotations from the current page
  • Remove spacing between paragraphs and headings
  • Remove tags from the current page, those not associated with reminders
  • Show/Hide the page date and time stamps under the title on page or all pages in section
  • Trim leading whitespace from selected text
  • Trim trailing whitespace from selected text

Custom Styles (6)

  • Apply custom styles to selected text
  • Load a custom theme of styles, user-defined and some provided with OneMore
  • Edit custom style themes
  • Create new styles based on the selected text
  • Apply an entire theme to a page
  • Change page theme inluding background and styles, optioanally with dark-mode awareness

Edit Commands (16)

  • Colorize selected text as a chosen programming language - syntax highlighting
  • Set proofing language of selected text to one of the installed Office proofing languages
  • Highlight selected text using a rotating array of colors (Ctrl + Shift + H)
  • Paste Rich Text (preserve colors when pasting code from Visual Studio)1 (Ctrl + Alt + V)
  • Enabled spell-checking on the current page, resets to the current culture language
  • Disable spell-check on the current page (F4)
  • Change selected text to UPPERCASE (Ctrl+Shift+Alt+U), lowercase (Ctrl+Shift+U), Or Title Case
  • Increase (Ctrl+Alt+Plus) or Decrease (Ctrl+Alt+Minus) the font size of all content on the current page
  • Invert text selection
  • Join Paragraph to remove soft-breaks and join lines into a single flowing paragraph
  • Select all images on the page
  • Select all text on a page with similar formatting to the currently selected text
  • Sort bulleted or numbered lists alphabetically

Favorites and Custom Snippets (5)

  • Add any page in OneNote to the Favorites menu for quick access
  • Sort or reorder favorites using the Favorites Manager
  • Save and reuse custom snippets of content anywhere on any page
  • Quick access to user-defined plugins
  • Add a link to a special page containing all OneNote and OneMore keyboard shortcuts

Image commands (4)

  • Add caption to a selected images
  • Precisely crop a selected image
  • Resize a selected image or all images on the page
  • Rotate an image to any angle

Numbering commands (5)

  • Number page headings with numeric or alpha-numeric outline prefixes
  • Number all sections in the current notebook
  • Number all pages in the current section with numeric or alpha-numeric prefixes
  • Remove numbering from sections
  • Remove numbering from pages

Page Commands (8)

  • Arrange containers vertically or in columns
  • Add special icon to the page title, also appears in page hierarchy
  • Expand or Collapse indented outlines, save and restore outlining
  • Merge pages, preserving formatting and position of outlines
  • Split current page into multiple pages
  • Report number of words on the page or in the selected region

Reference Commands (13)

  • Insert a new footnote (endnote) at the current location (Ctrl + Alt + F)
  • Remove a footnote from either the label or from the footer description (Ctrl + Shift + F)
  • Create bidirectional links between pages or paragraphs on a page
  • Embed the contents of one page into the current pages
  • Insert QR code representation of selected text
  • Map Linked Pages to report all pages that link to other pages
  • Link to current page from other pages that reference this page title
  • Refresh text of hyperlinks back to this page based on its title
  • Replace hyperlinked URLs with their Web page titles
  • Replace hyperlinked URLs with their downloaded images

Reminder commands (4)

  • Add or update a reminder for any paragraph on a page (F8)
  • Mark the selected reminder as completed
  • Delete the seleted reminder
  • Generate a detailed report of all reminders and their status

Search commands (4)

  • Search and replace text on the current page (Ctrl + H)
  • Search for keywords and copy or move selected pages (Alt + F)
  • Add arbitrary tags to a page (Alt + T)
  • Search arbitrary page tags to index, copy, or move selected pages (Ctrl + Alt + T)

Snippets commands (16)

  • Insert single (Shift + Alt + F11) or double (Shift + Alt + F12) horizontal line
  • Insert breadcrumb at top of page
  • Insert Table of Contents of headers, pages, or sections
  • Insert small or large monthly calendar for a specific month
  • Insert sortable date, similar to 2020-12-23 (Ctrl + Shift + D)
  • Insert a text box, a single-cell table, and optionally wrap selecting content
  • Insert Code box similar to Confluence Code macro, optionally wrap selected content (F6)
  • Insert Info/Warn boxes similar to Confluence Info and Warn macros
  • Insert collapsable sections to hide secondary or sensitive information
  • Insert status labels similar to the Confluence status macro

Table commands (12)

  • Calculate Excel-like formulas in tables (F5)
  • Delete formula from selected table cells
  • Highlight all cells on the page with custom formulas
  • Recalculate all formulas in selected tables on the page (Shift + F5)
  • Convert select text to a table
  • Insert Table Cells, shifting content as expected
  • Paste copied table cells by overlaying cells rather than inserting a nested table
  • Copy across and copy down to fill all or selected cells with a copy of a cell
  • Fill across and fill down (Ctrl + D) to fill all or selected cells with increment values
  • Split table

Extra commands (12)

  • Generate a report of the size of notebooks, section, pages, and image and file attachments on pages
  • Collapse the page hierarchy to see only top-level pages
  • Prepend page titles with the created date of each page
  • Insert pronunciation of words from over a dozen languages
  • Sort pages, sections, or notebooks
  • Start and display a visual timer (Alt + F2) and insert the timer value (F2)
  • Toggle strikethrough text next to all completed/incompleted tags

Main Menu (8)

  • Replay the last OneMore action with a quick keyboard shortcut (Alt + Shift + R)
  • Import MSWord, PowerPoint, Markdown and others into the current page or a new page
  • Import a Web page from a specified URL
  • Export the current page or selected pages as HTML, PDF, MSWord, Markdown, or as raw OneNote XML
  • Invoke an external custom plugin to process a page
  • View and edit the internal OneNote XML of the current page (Ctrl + Shift + Alt + X)
  • Edit OneMore settings
  • Check for updates and install upgrades on-demand

Context Menus

  • Notebook context menu
    • Archive the entire notebook to a zip of HTML files, including all images and attachments
    • Number the sections in the notebook
    • Remove section numbering
  • Section context menu
    • Add the section to the Favorites menu
    • Archive the entire section to a zip of HTML files, including all images and attachments
    • Prefix all page titles with a date stamp representing the data the page was created
    • Customize the tab color of sections beyond the set of colors provided by OneNote
  • Section Group context menu
    • Copy section group and its entire contents to another location (OneNote only has a move command)
  • Page context menu
    • Export the page as HTML, PDF, Word, XML, or a .one file
    • Merge two or more selected pages into one page
    • Split the current page on Heading 1 boundaries or other options
    • Click in a blank area of the Pages panel to add or remove page numbering
  • Image context menu
    • Add a centered caption to the image
    • Crop and rotate the image
    • Resize the image

Why?

I wanted something more than what OneNote provided. I was overwhelmed by OneNote Gem, aghast at its bloated useless overloads of what was already otherwise available or features that I would never use in a million years - and, oh yeah, that price! I admit I was intrigued by the Onetastic Macro approach but thought it limited and obtuse, decipherable only by programmers. And both of these charge money for something that should be open source and neither provided exactly what I wanted. So I did what any self respecting software engineer would do... I built my own.

Please Support
I do this as a hobby. I will never charge you to use OneMore. So it is with great humility and appreciation that I humbly request that you consider a small donation to support the development of OneMore. In exchange, I pledge to continue listening with an open mind and to respond to your questions and tips in a timely manner.

Please consider a sponsorship or one-time donation, click here:

Sponsor

Minimum Prerequisites for Development

1VSCode cannot be used since it doesn't support COMReference entries in csproj files

2The Windows 10 SDK is required to reference the Windows.winmd meta file located at "C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.version.0\Windows.winmd" where version is the version of the SDK you have installed, e.g. 19041. If your SDK has a different version then you must replace the Windows reference in OneMoreAddin.csproj

Tested recently with:

  • Windows 10 21H1 19043.1165
  • VS2019 16.10.4
  • Win10 SDK 10.0.19041.0
  • OneNote 2019/O365 16.0.14326.20164 64-bit

Dependencies

  • HtmlAgilityPack - nuget, MIT license
    • Normalizes HTML and non-conformant XML to well-formed XML that can be consumed by XElement.Parse
  • InputSimulator - nuget, MIT license
    • Replaces the use of SendKeys.Send, adding support for multilingual keyboards
  • MarkdownDeep - DLL in external folder
    • Transforms markdown to HTML when importing md files
  • PuppeteerSharp - nuget, MIT license
    • Automates the import of Web pages and conversion to PDF
    • Note that this bloats the installer and the installed footprint since it includes Chromium; eventually switching to WebView2 or similar is possible when WebView2 is more capable of supporting both headless and export to PDF

How to Install OneMore

  1. Close OneNote if it is currently running (See below if you need to install OneNote)
  2. Download the latest installer from here
  3. Right-click the downloaded installer msi and choose Properties, then tick the Unblock box and click OK
  4. Run the installer
    • If OneNote is installed for all users then you must install OneMore for all users as well
  5. Run OneNote and enjoy

How to Upgrade OneMore

The OneMore installer is built such that it can be installed on top of an older version and will effectively perform an upgrade. This is the preferred method and can be done in one of two ways:

  1. Open the OneMore About dialog and click Check for updates. If there is a new version available, you will be given the option of upgrading. OneNote will be shut down to perform the upgrade.
  2. Or, download the OneMore installer and run it. There is no need to uninstall the previous version; the new installer will simply overwrite the old files and upgrade OneMore. Note that when you download the installer, you will need to unblock it by opening its Properties dialog and clicking the Unblock checkbox.

How to Install OneNote

Microsoft has been pushing people to use the OneNote app and OneNote online, which suck in my opinion, and have removed OneNote from the Office 2019 installer. But you can still install it after installing Office or even install it standalone!

  1. Optionally install Office - do not run the Setup.exe; instead, run Office\Setup64.exe
  2. Download OfficeSetup.exe from here
    1. If run standalone, it will install 32-bit OneNote
    2. If run after installing Office, it will install 32 or 64 bit based on the bitness of Office
    3. The 64-bit installer is here
    4. The 32-bit installer is here

Developing OneMore

See the Developer Notes page in the Wiki where I keep a list of technical references and information regarding developing and debugging this OneNote add-in.

About

A OneNote add-in with simple, yet powerful and useful features

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 98.9%
  • Other 1.1%