Commit Graph

218 Commits

Author SHA1 Message Date
Matt Bierner
200c4d1057 Fix Markdown Preview Updating on Zoom / Unrelated Config Changes (#24809)
Fixes #24808

**bug**
Markdown preview updates when you zoom. The root cause is that previews are updated whenever the config is changed.

**Fix**
Extract preview config to its own well defined object. Only update the preview when the keys we care about in the config change
2017-04-14 15:43:32 -07:00
Alex Dima
aca01f2daa Fix build hygiene issues 2017-04-14 14:08:52 +03:00
Matt Bierner
c7c350a68a Small formatting cleanup in markdown 2017-04-13 15:26:32 -07:00
Dominic Valenciana
e60ea34adc Nested code lines now no longer display the hover border left. (#24686)
* Nested code lines now no longer display the hover border left.

* Added fix for both light and hc themes.
2017-04-13 11:05:35 -07:00
Matt Bierner
0656b2b090 Update markdown grammar to allow better injection into unknown fenced code blocks 2017-04-11 17:35:28 -07:00
Matt Bierner
e4b5586557 Ensure we use an encoded URI for the markdown styles 2017-04-11 15:18:16 -07:00
Matt Bierner
f93afc56ce Fix Markdown style paths possibly being handled incorrectly on windows Fixes #3613 2017-04-11 15:16:40 -07:00
Matt Bierner
e392265ce1 Switch md button to open to side by default
Fixes #21511
Fixes #23922

Changes the default markdown toolbar item to open the preview to the side of the current file as requested by #21511

Also updates the single file preview icon slightly to better differentiate it from the diff icon
2017-04-10 17:43:02 -07:00
Matt Bierner
11aba2dc61 Document enableExperimentalExtensionApi for insiders 2017-04-10 17:14:42 -07:00
Matt Bierner
736e09ab7c Use load event listener instead of onload in markdown preview 2017-04-10 17:14:42 -07:00
Matt Bierner
96b49f6f7d Tweak HTML Preview Styling (#24280)
Two changes:

* Changes the logic from 41467b74b7 to make the padding customizable. The default 20px padding is preserved, but now preview can customize if they want to use it or not. This allows html preview page background colors to correctly fill the entire frame.

* Remove Writing the `_defaultStyles` to the root of the webview elment. These are only needed inside of the iFrame itself
2017-04-10 11:03:43 -07:00
Matt Bierner
8fbad6ed40 Update some Markdown Snippets to Surround Selected Text
Fixes #1307

Updates a few markdown snippets, such as bold or italic, to surround the selected text instead or replacing it entirely
2017-04-06 18:17:39 -07:00
Matt Bierner
97a77a0eb3 Add marker class to markdown preview body to allow better css styling overrides 2017-04-06 17:34:04 -07:00
Matt Bierner
81f06c8605 Split markdown security selector into own file 2017-04-04 19:32:36 -07:00
Matt Bierner
6a34076761 Update default fonts used in markdown preview Fixes #15545 2017-04-04 16:24:53 -07:00
Matt Bierner
16876b257d Revert to using full uri for markdown scroll sync 2017-04-04 16:08:57 -07:00
Matt Bierner
8254b313f1 Further tweaks to markdown scroll sync paths 2017-04-04 15:02:35 -07:00
Matt Bierner
1d876bbc67 Fix a few potential file path casing issues for markdown preview 2017-04-04 14:51:02 -07:00
Richard Min
9875ae1077 Support ... terminating Yaml FrontMatter (#23195)
* FrontMatter rendered properly on markdownEngine

* FrontMatter terminates for 3 - or .

* Regex applied on both files for markdown
2017-03-24 19:56:53 -07:00
Matt Bierner
0185e327ab Extract markdown preview strings to constant 2017-03-23 22:31:43 -07:00
Matt Bierner
7bc40aace8 Prototype allowing scripts to be contributed to markdown preview 2017-03-23 22:29:34 -07:00
Matt Bierner
105e5f2ea8 Allow data font sources in markdown preview 2017-03-23 20:06:10 -07:00
Matt Bierner
00187b0065 Add font-src csp rule for default markdown content to allow custom fonts 2017-03-22 12:59:04 -07:00
Matt Bierner
4f8e68b814 Second prototype of markdown extensions (#22836) 2017-03-20 11:16:18 -07:00
Matt Bierner
eb0a05f7b5 Fix return 2017-03-16 17:49:22 -07:00
Matt Bierner
09ec3557c8 Prototype Allowing Extensions to Extend the Builtin Markdown Extension (#22421)
* Prototype Allowing Extensions to Extend the Builtin Markdown Extension

**Problem**
There have been requests for adding new functionality to the markdown extension preview, such as supporting rendering of math or other syntax in the preview. The only current solution to this is create an extension that provides its own markdown preview. This results in inconsitent behavior with our markdown preview and is not a very scalable approach. We would like to find a way to allow users to add these extensions to our markdown preview without bundling the extensions in the preview itself.

**Fix**
Prototypes a new contribution point that extensions can use to extend the vscode markdown extension. Three types of extensions are possible: adding stypes to the preview, adding scripts to the preview, and extending the markdown it renderer.

My current approach defines the contributed markdown extensions in the package.json using a structure like this:

```
  "contributesTo": {
    "vscode.markdown": {
      "plugins": [
        "./out/math"
      ],
      "scripts": [],
      "styles": [
        "./media/math.css"
      ]
    }
  }
```

We could change the structure here. This design uses a pull model where markdown extensions are looked up by the vscode.markdown extension itself.

The other approach for extension registration would be to use a push model. This would have the vscode.markdown extension export an api that each markdown extension would invoke to register new scripts/styles/plugins. I may switch over to this model but was interested in seeing what a more declarative approach would look like. Let me know if you have any thoughts one way or the other.

The downside of allowing extensions like this is that they can completely change how the markdown preview looks and works. There is no well defined API for restricting what extensions can do like we have with VScode.

* Use extensionDependencies

* Remove example extension

* Added gating and activation event
2017-03-16 17:27:39 -07:00
Matt Bierner
31d0799fd8 Fix Markdown TOC Provider for Invalid References (#22553)
Fixes #22494

**Bug**
References without a definition can cause the markdown table of contents provider to break

**Fix**
Pass in an empty environment to markdown-it `parse` to prevent the null dereference on invalid links.
2017-03-13 10:49:59 -07:00
Matt Bierner
3b7329eab8 Fix markdown document link highlighter for empty links 2017-03-10 16:37:59 -08:00
Matt Bierner
62e989849b better support nested lists for markdown scroll sync 2017-03-07 17:07:22 -08:00
Matt Bierner
af7df75fab Add ending marker for markdown scrollsync 2017-03-07 16:40:21 -08:00
Matt Bierner
104445989a Allow inline styles in markdown preview 2017-03-07 15:15:59 -08:00
Matt Bierner
1dd884a88a Use Gulp To Generate Markdown Langauge Includes (#22117)
**Bug**
The markdown grammar for fenced code blocks is rather unmaintainable since it involves lots of copy and pasted code

**Fix**
Use a gulp task and a template to generate the fenced code block grammars include directly. This allows adding new language support much more easily.
2017-03-06 18:21:16 -08:00
Matt Bierner
3d349aa9dc Add f# language syntax highlighting to markdown files Fixes #9457 2017-03-06 16:54:11 -08:00
Matt Bierner
0c37c544d1 Fixes #21629 2017-03-06 16:18:48 -08:00
Matt Bierner
4ebfc2fc18 Add Enhanced Security Settings to Markdown Preview
Adds enhanced security settings for the markdown preview. The new flow disable all scripts within the preview itself. Users can enable scripts on a per workspace basis.

When a markdown document that uses scripts is loaded, a warning is shown inside the document itself. This warning triggers a new security selector quick pick which allows users to enable or disable enahanced security in the workspace.
2017-03-03 13:56:23 -08:00
Matt Bierner
a801f731ee Fixes #21591 2017-02-28 19:31:49 -08:00
Martin Aeschlimann
8293443262 [markdown] enable wordWrap & disable quickSuggestions 2017-02-24 11:02:45 +01:00
Kai Maetzel
919580fdd8 Upgrade telemetry package used by TS and markdown extensions. (#20971)
* upgrade telemetry used by TS ext

* upgrade telemetry used by markdown ext
2017-02-21 15:26:30 -08:00
Martin Aeschlimann
74a6d6d423 fix tests for #20610 2017-02-20 17:34:05 +01:00
Matt Bierner
7a82ac3ff9 Small markdown code cleanup 2017-02-15 14:49:41 -08:00
Matt Bierner
80a864ebc1 Fix markdown editor link possibly breaking 2017-02-14 17:12:37 -08:00
Matt Bierner
4f6efb0ef5 Use same slugify logic for editor links as well 2017-02-14 17:07:38 -08:00
Kazuyuki Sato
ac5beb61b2 markdown-it-named-header custom slugify for non-latin characters (#20628)
* markdown-it-named-header custom slugify for non-latin characters

* Delete comment
2017-02-14 16:50:20 -08:00
Matt Bierner
6b5c143705 Clarify markdown setting string. Fixes #20409 2017-02-13 14:17:27 -08:00
Matt Bierner
3da42e5659 Debounce markdown selection update events Fixes #19827 2017-02-09 17:55:59 -08:00
Matt Bierner
789fa53908 Fix markdown links no opening 2017-02-09 13:41:11 -08:00
Matt Bierner
4b007e50d2 Improve markdown preview handling of ill formatted html Fixes #20199 2017-02-08 13:28:48 -08:00
Matt Bierner
42335c57f5 Revert "Use types tsconfig option where possible"
This reverts commit 38fbba35ff.
2017-02-07 16:31:50 -08:00
Matt Bierner
38fbba35ff Use types tsconfig option where possible 2017-02-07 15:57:22 -08:00
Matt Bierner
1a024c1b19 Use reference @types/node in extensions 2017-02-07 15:38:04 -08:00