Skip to content

Latest commit

 

History

History
196 lines (136 loc) · 8.74 KB

README.md

File metadata and controls

196 lines (136 loc) · 8.74 KB

Simplenote for Sublime Text

Sublime Text 3 & 4 plugin of Simplenote, Use Sublime Text as a Simplenote client.

     _                 _                  _
 ___(_)_ __ ___  _ __ | | ___ _ __   ___ | |_ ___
/ __| | '_ ` _ \| '_ \| |/ _ \ '_ \ / _ \| __/ _ \
\__ \ | | | | | | |_) | |  __/ | | | (_) | ||  __/
|___/_|_| |_| |_| '__/|_|\___|_| |_|\___/ \__\___| for Sublime Text
                |_|
  • Forked from quick_simplenote
  • UPDATES:
    • Sublime Text 3 & 4 compatibility: Adapt to latest version of Sublime Text's default Python interpreter(Python 3.8)
    • Beautify the note list style:
      • Introduce QuickPanelItem for improved note representation
      • Enhance the quick panel to display notes with richer information, including:
        • Note body snippet
        • Version and update timestamp
        • Tags (to be implemented in the future)
    • Markdown syntax support
      • Automatically detect whether a note is in Markdown format and apply Simplenote's systemTags to inform other platform clients.
      • Automatically formatting(need install markdownlint).
    • Bug fixes

Planned features:

  • Replace the existing RESTful API with WebSocket to reduce network I/O.
  • Add a new note list display mode.
  • Using sqlite as the database as notes local cache.
  • Maybe adding APIs for other notebook providers. ...

Installation

Package Control

The easiest way to install this is with Package Control.

  • If you just went and installed Package Control, you probably need to restart Sublime Text before doing this next bit.
  • Bring up the Command Palette (Command+Shift+P on OS X, Control+Shift+P on Linux/Windows).
  • Select "Package Control: Install Package" (it'll take a few seconds)
  • Select Simplenote when the list appears.

Package Control will automatically keep Simplenote up to date with the latest version.

Manual

You can clone the repository in your Sublime Text "Packages" directory:

git clone https://github.com/RedAtman/simplenote.git

The "Packages" directory is located at:

  • OS X:
~/Library/Application Support/Sublime Text/Packages/
# or
~/Library/Application Support/Sublime Text/Installed Packages/
  • Linux:
~/.config/sublime-text/Packages/
# or
~/.config/sublime-text/Installed Packages/
  • Windows:
%APPDATA%/Sublime Text/Packages/
# or
%APPDATA%/Sublime Text/Installed Packages/

Configuration

You need to set up your Simplenote credentials before using the plugin. You can do this by going to the menu Preferences -> Package Settings -> Simplenote -> Settings - User and adding your email and password:

{
    "username": "your_simplenote_account_email",
    "password": "your_simplenote_account_password"
}

Usage

Keyboard shortcut

Feature macOS(OS X) Linux Windows
Show Note List ["super+shift+s", "super+shift+l"] ["super+shift+s", "super+shift+l"] ["super+shift+s", "super+shift+l"]
Create Note ["super+shift+s", "super+shift+c"] ["super+shift+s", "super+shift+c"] ["super+shift+s", "super+shift+c"]
Delete Current Note ["super+shift+s", "super+shift+d"] ["super+shift+s", "super+shift+d"] ["super+shift+s", "super+shift+d"]

You can customize it: Sublime Text > Settings > Package Control > Simplenote > Key Bindings Alt Key Bindings

Overview

Hit Command+Shift+S (OSX) and then Command+Shift+L (OSX) or Windows+Shift+S (Windows) and then Windows+Shift+L (Windows) to start. First time it will open the settings to setup the credentials. After setting them it will download the notes. Alt Settings

Hit the shortcut again after the download is done (check the message bar) and it will show a list of the notes: Alt Notes

It will download notes every time sublime text is launched and every now and then if the sync_interval configuration is enabled (has a positive value), so take a look at the bar to check the status.

If a note gets updated from somewhere else Alt External Update After the next sync it will be updated on sublime as well Alt External Update Replicated

If you change something on sublime the note will be updated after you save the file: Alt Sublime Update

You can create a note with Command+Shift+S and then Command+Shift+C (OSX) or Windows+Shift+S and then Windows+Shift+C (Windows), a name is assigned according to the first line of the note (remember to save!) Alt Sublime New Note on List

You can delete notes with Command+Shift+S and then Command+Shift+D (OSX) or Windows+Shift+S and then Windows+Shift+D (Windows) while seeing the note Alt Sublime Delete Note

All those commands are also accesible from the command palette: Alt Command Palette

Markdown syntax support

If your note begins with "#", it will automatically be marked as Markdown format and displayed accordingly Alt Sublime Note displayed in Markdown format

Automatically formatting

Default auto enable Markdown auto formatting. You can disable it in the settings file: markdown: {"formatting": false}

Before enabling this feature, you must ensure that [markdownlint][CLI] is installed on your system. To install markdownlint, do the following:

  • If you are use Homebrew: brew install markdownlint-cli.
  • Other case:
    1. Install Node.js.
    2. Install markdownlint by typing the following in a terminal: npm install -g markdownlint-cli
    3. If you are using nvm and zsh, ensure that the line to load nvm is in .zshenv and not .zshrc.
    4. If you are using zsh and oh-my-zsh, do not load the nvm plug-in for oh-my-zsh.

Markdownlint Configuration Files

Markdownlint configuration files (.markdownlintrc) are resolved first by checking the source directory of file being linted, then by checking the user $HOME path.

Conflict Resolution

If a change is made on a different client Alt Remote change

And in the middle of that change and a sync we have made local changes in sublime Alt Local change

We get a dialog asking what we want to do to resolve the conflict Alt Dialog

Selecting Overwrite will discard overwrite the local changes with what the server has.

Selecting Cancel instead will leave alone the local file, if you save after this the result will most likely be a merge performed by simplenote between the local data and the remote data.

There are two options that automate the conflict resolution mode: on_conflict_use_server and on_conflict_leave_alone for Overwrite and Cancel respectively.

Beta Features

The options autosave_debounce_time and title_extension_map are on beta.

Uncommenting autosave_debounce_time makes Sublime Text behave similarly to a simplenote client, saving data after each change. The value of the option tells the plugin how much to wait after the last pressed key to save the data.

A small value might start making simplenote reject changes and a big value might make you think you saved something after closing sublime even when it wasn't saved yet.

title_extension_map is an array used to apply extensions to the temporal note files, so it can interact with other extensions, most notably plaintasks: Alt Plaintasks configuration

Each row of the array takes a regex that the plugin uses against the note title and an extension to add at the end. Alt Plaintasks use

About your data and bugs

This is a free piece of software and is distributed as is, it might contain bugs that due to the nature of the application might result in data loss, please make periodic backups of any important piece of information.

In case of data loss it might be helpful to use the real simplenote page or an official client with history capabilities to try and find the last sane version of your note.