20 Commits
Author SHA1 Message Date
Seongjae Lee cc8a780436 Prepare 0.8.2 release 2015-09-24 21:25:23 -07:00
Seongjae Lee 431b929208 Merge pull request #33 from lexicalunit/normalize_directory
Normalize nvatom.directory so that ~/... works correctly.
2015-09-24 21:22:32 -07:00
lexicalunit 61d071c15a Normalize nvatom.directory so that ~/... works correctly. 2015-09-24 18:36:59 -05:00
Seongjae Lee 4e4688fe78 Prepare 0.8.1 release 2015-09-16 19:56:14 -07:00
Seongjae Lee 0fffc6a6b1 Avoid using regexp for searching title
Fixes #28.
2015-09-16 19:56:00 -07:00
Seongjae Lee 547617f485 Refactor code based on CoffeeScript style guide
https://github.com/polarmobile/coffeescript-style-guide
2015-09-12 12:14:56 -07:00
Seongjae Lee 74735eec82 Prepare 0.8.0 release 2015-09-12 10:52:12 -07:00
Seongjae Lee fa873af344 Update changelog 2015-09-12 10:51:48 -07:00
Seongjae Lee a31f490a70 Fix a bug on warning messages
Ruby-style string interpolation is only with double-quoted strings.
2015-09-12 10:49:44 -07:00
Seongjae Lee 27f2a5bb8d Delete an empty note when closing a pane
Close #18. This is against nvALT, but I think this is more intuitive way.
2015-09-12 10:47:29 -07:00
Seongjae Lee 95093df286 Prepare 0.7.1 release 2015-09-12 10:17:10 -07:00
Seongjae Lee 5e4345f719 Make autosave also consider nvatom.extensions 2015-09-12 10:16:52 -07:00
Seongjae Lee cee47a8fd7 Prepare 0.7.0 release 2015-09-12 02:02:59 -07:00
Seongjae Lee 15bf1e741b Update changelog 2015-09-12 02:02:43 -07:00
Seongjae Lee bd19c270b3 Support other extensions than ".md"
Close #13.
2015-09-12 01:58:59 -07:00
Seongjae Lee b5f7ba7b75 Prepare 0.6.0 release 2015-09-12 01:36:40 -07:00
Seongjae Lee da888fa461 Prepare to move git repository from notational-velocity to nvatom 2015-09-12 01:36:12 -07:00
Seongjae Lee 97830b31db Prepare to move git repository from notational-velocity to nvatom 2015-09-12 01:33:38 -07:00
Seongjae Lee a06e0127c2 Prepare 0.5.1 release 2015-09-12 01:15:24 -07:00
Seongjae Lee cfd9dcef85 Fix typo on readme 2015-09-12 01:15:09 -07:00
5 changed files with 53 additions and 28 deletions
+7 -1
View File
@@ -1,5 +1,11 @@
## 0.8.0
- Add a feature to delete an empty note automatically when closing its pane
## 0.7.0
- Add `extensions` setting
## 0.5.0
- Add `useLunrPipeline` feature
- Add `useLunrPipeline` setting
- Improve autoselect/autocomplete logic
- Fix a bug that autocomplete feature does not work
+4 -4
View File
@@ -59,7 +59,7 @@ You can also override `cmd-l` if you want to keep your muscle memory from Notati
## Migration
v0.1.0 under published package name `notational-velocity` had a fatal bug that sets the default value of its note directory under package directory. Since package directory is overwritten when the user updates `notational-velocity` package. For more information, refer [#25][6].
v0.1.0 under published package name `notational-velocity` had a fatal bug that sets the default value of its note directory under package directory. In that case, all notes are deleted once the user updates the package, since package directory is overwritten when the user. For more information, refer [#25][6].
To resolve this problem, we renamed our package name to `nvatom`. Users who have the old `notational-velocity` need to **install `nvatom` package first**, activate the package to automatically migrate the existing notes, and then delete `notational-velocity` package.
@@ -76,7 +76,7 @@ Since keymaps overlap with `notational-velocity`, follow the menu *Packages > nv
[1]: http://notational.net/
[2]: http://daringfireball.net/projects/markdown/syntax
[3]: https://travis-ci.org/seongjaelee/notational-velocity.svg?branch=master
[4]: https://travis-ci.org/seongjaelee/notational-velocity
[3]: https://travis-ci.org/seongjaelee/nvatom.svg?branch=master
[4]: https://travis-ci.org/seongjaelee/nvatom
[5]: https://cloud.githubusercontent.com/assets/948301/7246990/2e2b4c6e-e7b9-11e4-93b0-57954e011e81.gif
[6]: https://github.com/seongjaelee/notational-velocity/issues/25
[6]: https://github.com/seongjaelee/nvatom/issues/25
+10 -9
View File
@@ -10,14 +10,14 @@ class NotationalVelocityView extends SelectListView
@initializedAt = new Date()
super
@addClass('nvatom from-top overlay')
@rootDirectory = atom.config.get('nvatom.directory')
if !fs.existsSync(@rootDirectory)
@rootDirectory = fs.normalize(atom.config.get('nvatom.directory'))
unless fs.existsSync(@rootDirectory)
throw new Error("The given directory #{@rootDirectory} does not exist. "
+ "Set the note directory to the existing one from Settings.")
@skipPopulateList = false
@prevCursorPosition = 0
@documentsLoaded = false
@docQuery = new DocQuery(@rootDirectory, {recursive: true})
@docQuery = new DocQuery(@rootDirectory, {recursive: true, extensions: atom.config.get('nvatom.extensions')})
@docQuery.on "ready", () =>
@documentsLoaded = true
@setLoading()
@@ -28,7 +28,7 @@ class NotationalVelocityView extends SelectListView
@populateList() if @documentsLoaded
@docQuery.on "removed", (fileDetails) =>
@populateList() if @documentsLoaded
if !atom.config.get('nvatom.enableLunrPipeline')
unless atom.config.get('nvatom.enableLunrPipeline')
@docQuery.searchIndex.pipeline.reset()
isCursorProceeded: ->
@@ -42,14 +42,14 @@ class NotationalVelocityView extends SelectListView
isCursorProceeded = @isCursorProceeded()
for item in filteredItems
if item.title.match(///^#{filterQuery}$///i) != null
if item.title.toLowerCase() is filterQuery.toLowerCase()
# autoselect
n = filteredItems.indexOf(item) + 1
@selectItemView(@list.find("li:nth-child(#{n})"))
return
for item in filteredItems
if item.title.match(///^#{filterQuery}///i) != null && isCursorProceeded
if item.title.toLowerCase().startsWith(filterQuery.toLowerCase()) and isCursorProceeded
# autocomplete
@skipPopulateList = true
editor = @filterEditorView.model
@@ -61,7 +61,7 @@ class NotationalVelocityView extends SelectListView
@selectItemView(@list.find("li:nth-child(#{n})"))
filter: (filterQuery) ->
if filterQuery == "" || filterQuery == undefined
if (filterQuery is "") or (filterQuery is undefined)
return @docQuery.documents
return @docQuery.search(filterQuery)
@@ -92,7 +92,8 @@ class NotationalVelocityView extends SelectListView
item = @getSelectedItem()
filePath = null
sanitizedQuery = @getFilterQuery().replace(/\s+$/, '')
calculatedPath = path.join(@rootDirectory, sanitizedQuery + '.md')
extension = if atom.config.get('nvatom.extensions').length then atom.config.get('nvatom.extensions')[0] else '.md'
calculatedPath = path.join(@rootDirectory, sanitizedQuery + extension)
if item?
filePath = item.filePath
else if fs.existsSync(calculatedPath)
@@ -155,6 +156,6 @@ class NotationalVelocityView extends SelectListView
@setError(@getEmptyMessage(@docQuery.documents.length, filteredItems.length))
schedulePopulateList: ->
if !@skipPopulateList
unless @skipPopulateList
super
@skipPopulateList = false
+28 -10
View File
@@ -9,6 +9,13 @@ module.exports =
description: 'The directory to archive notes'
type: 'string'
default: path.join(process.env.ATOM_HOME, 'nvatom-notes')
extensions:
title: 'Extensions'
description: 'The first extension will be used for newly created notes.'
type: 'array'
default: ['.md', '.txt']
items:
type: 'string'
enableLunrPipeline:
title: 'Enable Lunr Pipeline'
description: 'Lunr pipeline preprocesses query to make search faster. However, it will skip searching some of stop words such as "an" or "be".'
@@ -40,7 +47,7 @@ module.exports =
window.addEventListener('blur', handleBlur, true)
@subscriptions.add new Disposable -> window.removeEventListener('blur', handleBlur, true)
@subscriptions.add atom.workspace.onWillDestroyPaneItem ({item}) => @autosave(item)
@subscriptions.add atom.workspace.onWillDestroyPaneItem ({item}) => @autosave(item) unless @autodelete(item)
deactivate: ->
@subscriptions.dispose()
@@ -59,26 +66,37 @@ module.exports =
return unless paneItem?.getURI?()?
return unless paneItem?.isModified?()
uri = paneItem.getURI()
return unless uri.indexOf(@rootDirectory) == 0
return unless fs.isMarkdownExtension(path.extname(uri))
return unless uri.indexOf(@rootDirectory) is 0
return unless path.extname(uri) in atom.config.get('nvatom.extensions')
paneItem?.save?()
autodelete: (paneItem) ->
return false unless paneItem?.getURI?()?
uri = paneItem.getURI()
return false unless uri.indexOf(@rootDirectory) is 0
return false unless path.extname(uri) in atom.config.get('nvatom.extensions')
return false unless paneItem?.isEmpty()
fs.unlinkSync(uri)
noteName = uri.substring(@rootDirectory.length + 1)
atom.notifications.addInfo("Empty note #{noteName} is deleted.")
return true
autosaveAll: ->
@autosave(paneItem) for paneItem in atom.workspace.getPaneItems()
ensureNoteDirectory: ->
noteDirectory = atom.config.get('nvatom.directory')
noteDirectory = fs.normalize(atom.config.get('nvatom.directory'))
packagesDirectory = path.join(process.env.ATOM_HOME, 'packages')
defaultNoteDirectory = path.join(packagesDirectory, 'nvatom', 'notebook')
if noteDirectory.startsWith(packagesDirectory)
throw new Error('Note directory #{noteDirectory} cannot reside within atom packages directory. Please change its value from package settings.')
throw new Error("Note directory #{noteDirectory} cannot reside within atom packages directory. Please change its value from package settings.")
# Initialize note directory.
if !fs.existsSync(noteDirectory)
unless fs.existsSync(noteDirectory)
@tryMigrateFromNotationalVelocity()
noteDirectory = atom.config.get('nvatom.directory')
if !fs.existsSync(noteDirectory)
unless fs.existsSync(noteDirectory)
fs.makeTreeSync(noteDirectory)
fs.copySync(defaultNoteDirectory, noteDirectory)
@@ -91,13 +109,13 @@ module.exports =
defaultNoteDirectory = path.join(packagesDirectory, 'nvatom', 'notebook')
# notational-velocity does not exist.
if prevNoteDirectory == undefined
if prevNoteDirectory is undefined
return
atom.notifications.addInfo('Migrating from notational-velocity package...')
if !fs.existsSync(prevNoteDirectory)
atom.notifications.addError('notational-velocity.directory #{prevNoteDirectory} does not exists. Migration process is failed.')
unless fs.existsSync(prevNoteDirectory)
atom.notifications.addError("notational-velocity.directory #{prevNoteDirectory} does not exists. Migration process is failed.")
return
if prevNoteDirectory.startsWith(packagesDirectory)
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "nvatom",
"main": "./lib/notational-velocity",
"version": "0.5.0",
"version": "0.8.2",
"private": true,
"contributors": [
"Seongjae Lee <seongjae@gmail.com>",
@@ -12,15 +12,15 @@
"activationCommands": {
"atom-workspace": "nvatom:toggle"
},
"repository": "https://github.com/seongjaelee/notational-velocity",
"repository": "https://github.com/seongjaelee/nvatom",
"license": "MIT",
"engines": {
"atom": ">0.50.0"
},
"bugs": {
"url": "https://github.com/seongjaelee/notational-velocity/issues"
"url": "https://github.com/seongjaelee/nvatom/issues"
},
"homepage": "https://github.com/seongjaelee/notational-velocity",
"homepage": "https://github.com/seongjaelee/nvatom",
"dependencies": {
"atom-space-pen-views": "^2.0.3",
"chokidar": "^1.0.5",