183 Commits

Author SHA1 Message Date
Riccardo Ferretti
7aa2e0e411 v0.11.0 2021-03-09 11:52:50 +01:00
Riccardo Ferretti
a710358701 Prepare for 0.11.0 2021-03-09 11:52:35 +01:00
Riccardo Ferretti
9e4124068a fix this binding in tree provider refresh
The even listener is called with `this` bound to undefined, which causes the refresh function in fail when it accesses the object methods/fields. wrapping it into an arrow function avoids the problem
2021-03-09 11:50:59 +01:00
Riccardo
84e774144e Improved node highlight logic (#517)
* differentiate between regular nodes and lessened nodes style

* make lessened nodes even more transparent
2021-03-09 10:18:42 +01:00
Riccardo
eb2a2ed9e0 Backlinks Panel (#514)
* added position to direct links, and link reference to Connection

* added backlinks panel
2021-03-07 20:12:25 +01:00
Joel James
f48c74c607 Feature/blank note explorer view (#493)
* Create Blank Note Explorer View

Creates a new "Blank Note" explorer view which displays all notes that
contain only a title. When note.source.text.trim().split('\n').length
is equal to 1, a note is considered blank. This should mean that the
note contains only a title.

The UX experience is identical to that of the Orphan view. A user can
toggle between both the flat view and a nested view grouped by
directory.

* Cleaned up views and made them much more dynamic.

Instead of just copy and pasting the orphans view into blank notes,
I created a filtered notes provider, which behaves identically to the
old orphan/blank notes providers, but allows the caller to pass in the
"filter function" which will narrow down the list of notes in the view.

This also allows us to more easily unit test the filtering logic, and
only test the flatten / nested logic in one place. It also makes it so
that when we refactor the way one of these views works (e.g. adding the
markdown preview), we don't have to make changes to the other view.

* Fixed unit test that was failing in Windows.

* Combined placeholders and blank notes.

* Removed workspacesFsPaths and replaced with workspacesURIs

Co-authored-by: J.T. James <joel.james@myfuelmaster.com>
2021-03-02 12:05:32 +01:00
Riccardo Ferretti
596d96eaff v0.10.3 2021-03-01 14:06:09 +01:00
Riccardo Ferretti
4b65397106 Preparation for 0.10.3 release 2021-03-01 14:05:41 +01:00
Riccardo
a92ea7d86e Improved wikilink definition resolution (fixes #499) (#502)
* improved resolution for direct links and wikilink with definition

* if the definition of a wikilink points to a non-existing file, create a placeholder for the full path instead
* if a link doesn't point to a valid resource, create a placeholder for the full path instead

* commented out test-data.js import in dataviz.html

* moved test to more appropriate group
2021-02-28 19:49:07 +01:00
Riccardo Ferretti
69a5d8201c improved validation on template creation 2021-02-24 17:03:22 +01:00
Riccardo Ferretti
9ea68e1f00 v0.10.2 2021-02-24 16:41:04 +01:00
Riccardo Ferretti
eaa80fdfd5 preparation for 0.10.2 release 2021-02-24 16:39:26 +01:00
Riccardo Ferretti
148b7252a8 improved template content, and checking file existance 2021-02-24 16:34:40 +01:00
ingalless
9f0deb4000 Templates improvements (#359)
* Combine steps

* Cancel if escape pressed in any step

* New template command

* Execute "create new template" when no templates found

* Provide inline documentation 

* Add tests

* Add docs for the feature

Co-authored-by: Jonathan <jonny@mondago.com>
2021-02-24 15:37:46 +01:00
Riccardo Ferretti
f818e51be2 v0.10.1 2021-02-23 17:28:57 +01:00
Riccardo Ferretti
f56a6d8d0d Preparation for 0.10.1 2021-02-23 17:28:14 +01:00
Riccardo
026023dc7a Fix - Foam workspace update (live) (#497)
* improved delta logic in graph.js

fixes a bug that was due to using object.splice inside a forEach loop (sometimes stackoverflow is wrong - removing the element inside the loop will actually reduce the iterations and not all elements in the array will be visited!)

* various fixes to live update of workspace model + tests

* added tab size option in settings.json
2021-02-23 16:59:55 +01:00
Riccardo Ferretti
320d3d2bc3 v0.10.0 2021-02-18 10:18:04 +01:00
Riccardo Ferretti
cc42345276 Preparation for 0.10.0 release 2021-02-18 10:17:23 +01:00
Riccardo Ferretti
46f60ae036 fixed alpha value in graph labels 2021-02-17 21:37:44 +01:00
Riccardo
32e443bbae Refactor core workspace model (#467)
* added workspace WIP

* workspace supports resources

* uri check more lenient (was causing bug by not recognizing some objects)

* added placeholder resource type

* consolidated code in FoamWorkspace and added more tests

* updated all modules to use FoamWorkspace

* fixed FoamWorkspace.getConnections function
when links or backlinks are not present it no longer adds `undefined` to the connection list

* fix in workspace handling of direct links

* consolidated id/name generation functions

* added test for wikilink resolution when several notes have same filename

* removed reference to graphMiddleware in foam-local-plugins doc
graph middleware won't be supported with the `FoamWorkspace`. Support for the markdown provider remains

* removed support for graph middleware, graphlib dependency, and old note-graph implementation
2021-02-17 21:36:29 +01:00
Mark Dixon
8a8c0221a2 Added line width and line color to graph settings (#479) 2021-02-17 10:19:55 +01:00
Riccardo Ferretti
585a6d61e1 workaround: force version 1.52.0 during test run
Running the tests with vscode 1.53.0 is causing issues in `suite.ts:23`, which is causing a stack overflow, possibly due to a recursive callback. Also see https://github.com/foambubble/foam/pull/479#issuecomment-774167127 .
It's unclear what's causing the issue, but forcing the version to 1.52.0 solves the problem.
To review, further investigate, and roll back this workaround.
2021-02-09 19:26:56 +01:00
Riccardo Ferretti
f29edc22cb using services instead of context to pass dataStore to features
The destructuring of the `context` object was causing a ProposedAPI exception to be thrown
2021-02-09 17:00:51 +01:00
léon h
bc071a20b4 [FEATURE] Notes preview (#468)
* [FEATURE] Notes preview

* Refactor

* datestore to context

* Remove bracket test
2021-02-02 13:38:22 +01:00
Riccardo Ferretti
d219b400fa v0.9.1 2021-01-28 16:05:34 +01:00
Riccardo Ferretti
19ba7e8673 prepare for release 0.9.1 2021-01-28 16:04:55 +01:00
léon h
7922aa950a [FIX] Orphans listeners (#464) 2021-01-28 16:00:50 +01:00
Riccardo Ferretti
4457e83e38 v0.9.0 2021-01-27 23:19:01 +01:00
Riccardo Ferretti
fb15672e6a preparation for 0.9.0 release 2021-01-27 23:18:40 +01:00
Riccardo Ferretti
2ef2a217ee updated links to discord 2021-01-27 21:54:45 +01:00
léon h
8a73cba1f0 Welcome screen for Tag Explorer (#460)
* Welcome screen for Tag Explorer

* Front matter
2021-01-27 16:38:05 +01:00
léon h
ea0edc5149 Orphaned notes (#457)
* Orphaned notes

* Refactor to panel

* Toggle groupBy option

* Hide command from palette

* Icon toggle

* Docs

* Tests

* Extract isMatch logic
2021-01-26 15:56:14 +01:00
Riccardo Ferretti
85d3aef2ff updated discord link 2021-01-21 12:32:05 +01:00
Riccardo Ferretti
3a798b520f v0.8.0 2021-01-15 13:36:00 +01:00
Riccardo Ferretti
8db4d2897f Preparation for 0.8.0 release 2021-01-15 13:24:35 +01:00
Riccardo
e0bcb6bd92 Style graph nodes by type (#449)
* added styling of graph nodes by type

* removed unused css file

* added style by type to documentation
2021-01-14 20:22:44 +01:00
Riccardo
cd92468311 Prettier format and chores (#448)
* fix #442 - link to known-issues replaced

* formatted settings + enable format on save + improved jest config

* removed editorconfig in foam-cli

* formatted foam-vscode

* removed author in package.json files

* minor changes to readme files

* fixed husky pre-commit hook
2021-01-14 17:00:03 +01:00
Riccardo Ferretti
5a44fbc26f improved foam-vscode readme 2021-01-14 15:05:40 +01:00
José Duarte
eee6b7bd3a Allow for the reuse of the graph panel (#443) 2021-01-14 13:07:59 +01:00
José Duarte
792e66b061 Add custom graph styling support (#438)
* Add graph style to VSCode settings

* Update default to an empty object

* Add function to retrieve the graph style from the settings

* Implement the graph custom styling setting

The implementation makes use of the webview communication mechanism to
switch messages between the webview and the graph.
It works as follows:

- When the webview is loaded, it now sends a single request to VSCode,
the request asks VSCode for the graph style
- When VSCode answers with the style, the graph style is updated and
the webview loading process continues as normal.

The style change does not modify the API, in fact it makes use of the
shadiest programming tatic ever, *global variables* to remain
compatible.

The style object *currently* supports four base fields:
- background: string
- fontSize: int
- highlightedForeground: string
- node: object
  - note: string
  - nonExistingNote: string
  - unknown: string

* Simplify null handling logic

* Remove debug logs

* Rename style setting

* Rename message style type

* Remove forgotten debug log

* Refactor the code to match model & action

* Add missing break

* Allow for dynamic style updates

* Fix the window loading bug

* Implement a permanent fix to the bug

* Replace `nonExistingNote` with `placeholder`

* Include the new graph style feature in the docs

* Remove unnecessary async

* Remove unused case
2021-01-13 17:55:58 +00:00
Mike Cluck
e5589f0555 Add ability to open a random note (#440)
* Add Open Random Note command
2021-01-12 22:29:03 +01:00
Riccardo
97e3b20112 Added support for direct links (#433)
* support direct links

* added support for labels with formatting

* added documentation and removed lint warning

* ignore external links

* improved uri parsing

* filter links pointing to same note (e.g. sections within the note)

* check that note exists before navigating to it

* fixed compilation error
2021-01-08 17:54:40 +00:00
Riccardo
ef7ea8d23b End 2 end test for the extension in vscode (#428)
* added support for e2e vscode tests

* using github action that supports headless test run

* loading vscode test instance in empty dir to speed up bootstrap
2021-01-03 19:27:51 +01:00
Riccardo
36a632f218 consolidated prettier configuration in root package.json file (#429)
also fixed linting and consolidated .gitignore and moved .editorconfig
2021-01-03 18:35:33 +01:00
Riccardo
f9331ad327 refactor: better organization and simplification of core model (#406)
* using URI as note identifier

* cleanup: put definitions together with related code, moved note-graph, removed slug field from Note model
2021-01-03 13:04:05 +01:00
Riccardo Ferretti
adf2dfa779 v0.7.7 2020-12-31 11:40:34 +01:00
Riccardo Ferretti
c04bc347ed Preparation for 0.7.7 release 2020-12-31 11:40:03 +01:00
Riccardo Ferretti
5f8a064af2 Added 0.7.6 info to CHANGELOG 2020-12-29 13:46:49 +01:00
Mike Cluck
3868cc5a17 Dated snippets create standard wikilinks (#416) 2020-12-29 11:58:18 +01:00