* add improvements TODO on creating book experience
* fix create book to support a more complex folder structure
* replace \\ to a forward slash on windows
* address pr comments
* fix tests
* use the posix version of path.sep
* start work on ui
* Move notebooks complete
* Simplify version handling
* fix issues with add section method
* fix issues with the edit experience and add the quick pick for editing
* add version handler for re-writing tocs
* fix book toc manager tests
* add notebook test
* fix localize constant
* normalize paths on windows
* check that a section has sections before attempting to mve files
* Implement method for renaming duplicated files
* moving last notebook from section converts the section into notebook
* Add recovery method restore original state of file system
* Add clean up, for files that are copied instead of renamed
* remove dir complexity
* divide edit book in methods for easier testing and remove promise chain
* Keep structure of toc
* normalize paths on windows
* fix external link
* Add other fields for versions
* fix paths in uri of findSection
* add section to section test
* Add error messages
* address pr comments and add tests
* check that the new path of a notebook is different from the original path before deleting
* fix search for pinned notebooks
* fix filtering when verifying that a search folder is not a subdirectory from the current folder queries path
* Show book node on pinned notebooks search results
* fix parent node on pinned notebooks search results
* fix search for pinned notebook and modify how pinned notebooks are stored in workspace
* update format of pinned notebooks for users that used the september release version
* removed unused functions
* Address PR comments
* fix parent node for legacy version of jupyter books
* remove cast from book path
* Add open book option in UI
* Add dropdowns option on dialog
* Add flow logic
* Fetch releases and validate URL
* Add class for github books and shared file books
* Change code structure
* Unblock local copy + stack overflows
* Download books from github
* Remove unused files
* Clean code and use the openNotebookFolder command to open remote book
* Checkpoint
* Refactor remote book dialog model to only hold data
* Remove ApiWrapper and refactor createlocalcopy method
* Use sinon js framework instead of typemoq for testing remotebookController
* Remove api wrapper
* Add some tests
* Add more tests and address pr comments
* Address PR comments
* Fix remotebook broken tests
* Add download location in output channel and use openBook command
* Address PR comments
* Fix typos, print error message and remove failing test
* Print error message
* Separate tests in different files
* Declare controller variable inside extension.tst
Co-authored-by: chlafreniere <hichise@gmail.com>
* add isNotebook param and showPreview option
* showPreview changes
* update OpenNotebookFolder to open a specific path
* added test for showPreviewFile
* test name typo
* remove isNotebook from openBook
* unit test of the method
* stash changes
* revealActiveDocumentInViewlet test
* separate tests
* test on activate
* added tests
* feedback changes
* naming change
* get children of unexpanded books
* highlight item inside collapsed parent in treeView
* fix path issue on windows
* refactor common code into separate func
* refactor
* highlight correct notebook on navigation.
* add back behavior of highight on viewlet visible
* optimize bookViewer create
* createTreeView for every book
* Add and fix Notebook tests
* Fix name
* Fix compile
* Acutally fix error
* Add Notebook title test and fix command
* Add extra check and add comments
* Remove extra show error message
* initial commit
* Add Reveal in Books editor tab context option
* Select item in books viewlet automatically
* changes
* easier than i thought it'd be
* added file watcher on toc file v1
* Merge from Feat/create book
* Undo Merge from Feat/create book
* Use fsPath instead of path
* repen book on toc update
* update book in-place
* fix close book
* error handling for closeBook
* PR comments
* addressed comments
* moved the watch block to try ,watch vs watchFile
Co-authored-by: chlafreniere <hichise@gmail.com>
Co-authored-by: Chris LaFreniere <40371649+chlafreniere@users.noreply.github.com>
* Add Reveal in Books editor tab context option
* Select item in books viewlet automatically
* changes
* easier than i thought it'd be
* Merge from Feat/create book
* Undo Merge from Feat/create book
* Use fsPath instead of path
* PR comments
* Fix tests
Co-authored-by: Maddy <12754347+MaddyDev@users.noreply.github.com>
* added secondary action
* create book command
* open as untitled
* create toc.yml and update title
* added comments
* throw error if filenames have unsupported chars
* update prompt message
* remove the toLocaleLower
* added await
* moced createbookpath out of the command handler
* removed tolocalelower and added comments
* moved the formatting and file handling code from core to notebook
* fixes for contents with folders
* collapse the code cell
* remove output
* reused existing command to open book
* comment typu and added await
* Refactoring Manage Packages dialog so that other extensions can contribute to it by registering package mange providers for different location and package type
* add saved/untitled views to the books viewlet and provide save option to untitled
* addressed comments
* fixes after merge
* await on async methods
* reverted back
* await on promise
* added localize for books view names
* initial commit
* missed a file change
* changes to make the merges work part1
* fixes after merges 2
* getChildren to get all books
* chnages to address comments
* fsPromises instead of fs.readSync
* merged master
* replaced deprecated fs.exists async call with pathExists
* renamed method
* Add abillity to open to specific item within a Jupyter book
* Move helper method into BookTreeItem class
* Fix default URL path
* Add typing to Jupyter book code
* Update comment and typings
* Fix compile error and cleanup
* initial commit
* fix: added initialize method to fix the previous/next links rendering
* added checks
* open first markdown/ipynb in the book ans expand the view
* added launch book from command pallete, removed the pick folder and save option added launching the first notebook/markdown
* moved the open book command pallet action from mssql to notebooks
* open as untitled to true
* opening markdown files issue fix
* removed opening as untitled files
* open ipynb files as untitled and changes for previous&next links to work
* add books as seperate viewlet
* localize double quote issues and renamed treeCollapsibleState
* renames and added logic to conditionally show Preview command
* moved registerCommands from widget to extension contribution
* isEditorUntitled check
* async comment updates
* formatting issues.
* promisfying the async calls
* moved existsAsync to top
* added previous and next buttons
* previous and next notebook API
* links for prev/next notebooks
* fixed first and last pages
* made code more readable
* addressed Kevin's comments
* moved logic over to BookTreeItem
* show buttons in dev mode only
* added BookTreeItemFormat interface
* added interface and enum
* removed localize call
Adds a protocol handler for notebook open, which can be used from browsers
Uses extension-based handler support so all URIs must start with `azuredatastudio://microsoft.notebook`
Adds 2 actions:
- `/new` opens a new empty notebook
- `/open` opens a HTTP/S file as an untitled notebook or text document
Sample URL:
```
azuredatastudio://microsoft.notebook/open?url=https%3A%2F%2Fraw.githubusercontent.com%2Fkevcunnane%2Fmsbuild_ads_demo%2Fmaster%2F0_YoAzdata.ipynb
```