mohzy83 / nppmarkdownpanel Goto Github PK
View Code? Open in Web Editor NEWLightweight Notepad++ plugin to preview Markdown files
License: MIT License
Lightweight Notepad++ plugin to preview Markdown files
License: MIT License
I'd like the viewer panel to display my latest .md changes. The only way I can see to do this is to close and reopen the panel.
That's two clicks on a tiny, tiny button which require me to take my hands off the keyboard.
If we can't have the markdown in sync with individual keystrokes (perhaps some milliseconds after the last keystroke), could we instead have some kind of UI for 'sync'?
Perhaps a button?
Perhaps a menu item with a shortcut?
Perhaps just sync the view when you save?
It should happen quickly, easily, and (preferably) without taking the hands off the keyboard because the use case of markdown is people using a keyboard who are too busy to faff around with closing tags, so they're certainly too busy to take their hands off the keyboard.
Hi! I am a user of this nice plugin and I quite like it. I am using the latest version 0.5.0 on windows 10. However, I find it is not supporting the math equations using simple Latex syntax on my computer. I use this feature quite often as my markdown files contain a lot of Greek letters and math equations.
Is this feature supported in this plugin? If not, is it possible for you to add it? Or is there any way that I can make it work on my computer?
Thanks a lot!
William
I want to automatically show the panle when viewing an ".md" file and hide it in all other scenarios. Is that possible? I've not found an option in the settings.
Best regards,
D.R.
you should use a richtextbox rather than a webviewer
more information about XSS: https://en.wikipedia.org/wiki/Cross-site_scripting
payload:
![a](javascript:alert("hey"))
Hi there,
i'm using the portable version of Notepad++ 8.4.7 and i cannot load your plugin in version 0.7.0. The old version 0.6.2 worked without problems. I tried a fresh install with npp.8.4.7.portable.x64.zip and NppMarkdownPanel-0.7.0.0-x64.zip and i get the following error:
After closing Notepad++ the following is shown:
I think it has to do with the Windows LTSC-Version, see Debug Info:
Notepad++ v8.4.7 (64-bit)
Build time : Nov 1 2022 - 23:31:11
Path : C:\Software\npp_test\notepad++.exe
Command Line :
Admin mode : OFF
Local Conf mode : ON
Cloud Config : OFF
OS Name : Windows 10 Enterprise LTSC 2019 (64-bit)
OS Version : 1809
OS Build : 17763.3650
Current ANSI codepage : 1252
Plugins :
mimeTools (2.9)
NppConverter (4.5)
NppExport (0.4)
On my private computer with Windows 10 Home and an installed Notepad++ (not portable) the new plugin version does work without problems:
Notepad++ v8.4.7 (64-bit)
Build time : Nov 1 2022 - 23:31:11
Path : C:\Program Files\Notepad++\notepad++.exe
Command Line :
Admin mode : OFF
Local Conf mode : OFF
Cloud Config : OFF
OS Name : Windows 10 Home (64-bit)
OS Version : 22H2
OS Build : 19045.2311
Current ANSI codepage : 1252
Plugins :
BetterMultiSelection (1.5)
Explorer (1.9.5)
mimeTools (2.9)
NppConverter (4.5)
NppExport (0.4)
NppMarkdownPanel (0.7)
Went back to version 0.6.2 for now. Maybe you can identify a cause for this issue. Would be great to use the new version with dark mode. Really appreciate your helpful plugin.
Thanks
Steps to reproduce:
Notepad++ v8.0 introduced the possibility for a dark ui-theme. Plugin authors need to call NPPM_ADDTOOLBARICON_FORDARKMODE
instead of NPPM_ADDTOOLBARICON
for Notepad++ v8.0 or newer.
Not be able to collect the plug-in project NppMarkdownPanel, the Assembly happens with the warnings and the plugin is not working. Maybe not enough of any of the components in VS2017?
C:\Tools Servis\npp.7.6.6\x64\plugins\NppMarkdownPanel\NppMarkdownPanel.dll
Failed to load
NppMarkdownPanel.dll is not compatible with the current version of Notepad++.
Do you want to remove this plugin from the plugins directory to prevent this message from the next launch?
1>------ Build started: Project: NppMarkdownPanel, Configuration: Debug x64 ------
1>C:\Users\Uzzer\Downloads\NppMarkdownPanel-master\NppMarkdownPanel\MarkdownPanelController.cs(101,30,101,32): warning CS0168: The variable 'ex' is declared but never used
1>C:\Users\Uzzer\Downloads\NppMarkdownPanel-master\NppMarkdownPanel\MarkdigMarkdownGenerator.cs(36,30,36,31): warning CS0168: The variable 'e' is declared but never used
1> NppMarkdownPanel -> C:\Users\Uzzer\Downloads\NppMarkdownPanel-master\NppMarkdownPanel\bin\Debug-x64\NppMarkdownPanel.dll
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Notepad++ v7.6.6 (64-bit)
Build time : May 1 2019 - 23:51:03
Path : C:\Tools Servis\npp.7.6.6\x64\notepad++.exe
Admin mode : ON
Local Conf mode : ON
OS : Windows 7 (64-bit)
Plugins : ComparePlugin.dll DSpellCheck.dll HTMLTag.dll JSMinNPP.dll mimeTools.dll NppConverter.dll NppExport.dll NppMarkdownPanel.dll VisualStudioLineCopy.dll XMLTools.dll _CustomizeToolbar.dll
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"microsoft.net.component.4.targetingpack",
"microsoft.net.component.4.5.targetingpack",
"microsoft.net.component.4.5.1.targetingpack",
"microsoft.net.component.4.5.2.targetingpack",
"microsoft.net.component.4.6.targetingpack",
"microsoft.net.component.4.7.sdk",
"microsoft.net.component.4.7.targetingpack",
"microsoft.net.component.4.7.1.sdk",
"microsoft.net.component.4.7.1.targetingpack",
"microsoft.net.component.4.7.2.sdk",
"microsoft.net.component.4.7.2.targetingpack",
"microsoft.visualstudio.component.vc.tools.x86.x64",
"microsoft.visualstudio.componentgroup.nativedesktop.winxp",
"microsoft.visualstudio.componentgroup.windows10sdk.16299",
"microsoft.visualstudio.component.vc.140",
"microsoft.visualstudio.component.aspnet45",
"microsoft.net.component.3.5.developertools",
"microsoft.component.codeanalysis.sdk"
]
}
I find this plugin very useful. When I first open the panel, I find the default zoom level is too high. I can adjust the zoom level by use of Ctrl+MouseWheel. But the next time I start Notepad++ and open the panel, my previous zoom level is not restored. Is there a way to save my previous zoom level as the new default level? Or can you set the default zoom so normal text appears approximately the same size in both panels?
On a Windows 11 laptop with a 3456 x 2160 display, the 100% zoom level is too small to read at all, and even at 400% the text is still too small to read comfortably. Would be good if either the zoom level takes account of the custom system scaling or even if the maximum zoom level is made higher.
With https://github.com/nea/MarkdownViewerPlusPlus, I can give elements a CSS ID and then modify them inline.
## Using CSS for Custom Formatting! {#MyCustom-ID}
<Style>
#MyCustom-ID {
background-color: orange;
text-decoration: underline;
color: darkslategray;
}
</Style>
Since that project is not maintained, I was thinking of moving to this one (especially since this one renders checklists and image hover text properly), but I used that custom CSS stuff on occasion and really like it.
The images referenced from the Readme.md document are not packaged in the NppMarkdownPanel-0.5.0.0-x64.zip file.
The images in the help folder in the Github repository should be installed to a help folder beside the Readme.md file in order to be displayed in the preview window for Readme.md.
I've been looking around at the forks of the Notepad++ Markdown Panel plugin project, and here's the results that I've found:
Unrelated, but similar project, with PDF export of rendered Markdown:
https://github.com/nea/MarkdownViewerPlusPlus
When scrolling the md-file the preview isn't scrolling in sync.
If you click a footnote or the return, it tries to open the Microsoft store.
As I stated earlier this morning, I LOVE your plugin. There are 2 types of links that don't get followed correctly. Hopefully, linking to files in the filesystem and to internal links in the document are both something you feel should be addressed:
(1)Internal links such as
Jump to: [top](#top) ... [today](#today) ... [thisweek](#thisweek) ... [deferred](#deferred) ...[bottom](#bottom)
...
<a name="today"></a>
...
<a name="deferred"></a>
and also links to separate md files such as
* See [Comcast Issues](./Comcast.md)
hi @mohzy83
thanks for your new NppMarkdownPanel markdown viewer plugin.
i've just tested it and found two little issues:
if you use the line separator ---
all following #
h-lines will not be emphasised in font size.
a #
h-lines is always seen as underlined, instead of just emphasising the size.
sample code to reproduce:
## test 1
---
## test 2
---
### test 3
sample result images:
current view (NppMarkdownPanel):
expected view (MarkdownViewer++):
ps: i really like your new plugin, because it scales ![image name](image.url)
images at your markdown panel. 👍
(MarkdownViewer++ for example, keeps images 1:1 in size, cutting off larger images at the right edge, while NppMarkdownPanel is able to display the scaled, whole picture)
many thanks for your work.
greetings and best regards,
metachuh
NppMarkdownPanel 0.5.0 with Npp 7.9.1, running on Win10, with .NET 4.7.1
The CSS file config and Zoom Level slider are visible in the Settings dialogue, but HTML output config, and toolbar checkbox are missing.
Great plug-in - I've recently come to prefer NppMdPanel over MdViewer++ as the rendering is more reliable, and I've found workarounds for the (current) lack of HTML and PDF export options (I use View Source then save as HTML, and Print Preview then Print to PDF).
thanks for the great work on a really useful tool - JS
P.S. I guess that it's because the rendering is IE11 that context menu > View Source defaults to Notepad.exe rather than Npp.
Since 9ebbb73, code fences with a language label other than csharp
, cplusplus
, aspx
, etc., are not rendered at all. Any other language label has to be edited out.
There needs to be a default case handler in Markdig.SyntaxHighlighting.LanguageTypeAdapter.Parse
, so that code fences are always rendered, even if the label is unrecognized.
Pretty cool plug-in, just wanted to post a minor issue though:
On the About form, the links aren't clickable and you also can't select and copy the text.
The only way to open them is open a separate notepad and type them in by hand.
You could turn it into a regular dialog form and use LinkLabels for the clickable links.
Steps to reproduce:
Currently when Notepad++ is using dual editor panes, the markdown panel (on the right) always renders the contents of the text pane on the left, with the other text pane dividing down the middle.
I would like the option to render contents of the panel currently in focus, and/or configure which static choice of panel will always be rendered.
I just discovered NppMarkdownPanel and I LOVE it!! Thanks for creating it.
I use To-Do checkbox items a lot. Is there any chance you can add the ability to check / uncheck items in the Preview pane? I know that seems more like something that should be done in the Edit pane, but I've seen other editors do it in the Preview pane and was wondering if that's something you might consider adding.
NppMarkdownPanel-0.2.0-x64.zip is x86
NppMarkdownPanel-0.2.0-x86.zip is x64
Please provide a release compatible with the latest (since v8.3) version of Notepad++. See details from the 8.3 release in the following link:
https://notepad-plus-plus.org/news/v83-boycott-beijing-2022/
Hi Overthere,
great plugin :-)
Anybody know by chance how to get structured heading-numbering like this:
Heading 1
1.1. Heading 2
1.1.1. Heading 3
1.1.2. Heading 3
1.2. Heading 2
1.2.1 Heading 3
1.1.2 Heading 3
Heading 1
2.1. Heading 2
2.1.1. Heading 3
2.1.2. Heading 3
2.2. Heading 2
2.2.1 Heading 3
2.1.2 Heading 3
it seems to be a kind of a follow up to #4... but definitively something weird is going on:
"heading2" (no matter if you use ##
before or ---
underneath) gets underlined... some phraser underline "heading1" and "heading2", but according to CommonMark no heading is underlined by default!
so either "heading1" and "heading2" should be underlined or none, which is IMHO the correct resp. better choice because you can still ad a line separator (---
) if you want to.
Support mermaidjs
https://github.com/mermaidjs
Text between two tildes (text) should appear as strikethrough. But in the Markdown panel is displayed the same ~~text~~
No table format is happening.
Tested from documentation something like this:
renders
| nicelyor this
but nothing is happening (samples taken from the markdig)
.md
files by Jekyll and many other servicesLeft Side Source File
Right Side Rendered View
It should display a local image that has a space character
in the filename if the image is included with escaping (%20
).
For example, I have an image 123 4.png
.
I include it to .md
file with: ![](123%203.png "")
.
It works fine, for example, both in GitHub and in IntelliJ IDEA.
But this plugin does not work with this case.
As I type new text, the Panel stays the same, I have to close it and open again so it will show me the new text.
when I mouse select some text in doc,I just want copy line what I selected,but when I parse,it's not run.
It would be nice if panel would hide on every opened file. Another way is add an ability to "cancel" rendering on "Show panel" hotkey
I find the option to synchronize the NppMarkdownPanel's viewer with Npp's caret useful, but it would be more useful if the viewer maintained vertical alignment with the caret. Currently the caret's associated text is always positioned at the top of the viewer. Is it possible to actually synchronize the viewer with the caret, including vertical alignment? If not, perhaps you could position the caret's associated text from 35% to 50% below the top of the viewer, so it can be seen in context with other nearby text.
When i try set the npp to use the dark model in setting menu, the NppMarkdownPanel has no change.
Tested the html export in 0.5.1.3.
Links in he exported html file gets the absolute paths of the links instead of the relative paths.
br
Hi,
non-ascii-characters (èöäüß) are displayed as 1e8H5bX (diamond with questionmark). Have I missed a configuration item or is there a problem with utf-8 support?
Cheers
Birger
Hi,
I use this plugin on a daily basis, but one thing that bothers me is the style. I would like to customize some CSS properties, eg. line height, margin, etc. Would it be possible to outsource the CSS file to the plugin directory?
Thanks in advance.
Is it possible to add the print feature to send the rendered content to the printer?
Thanks a lot!
Probably it is quite simple to add correction for Jekyll kramdown syntax, for example
kramdown in _posts
folder:
![x.png]({{ site.baseurl }}/assets/img/x.png "x.png"){:width="20px"}
Markdown Panel:
![x.png](../assets/img/x.png "x.png"){width="20px"}
see: https://andrzejq.github.io/jekyll_1/jekyll/tests/2018/11/06/Test-MD.html and src
I've made some changes for test: https://github.com/andrzejQ/NppMarkdownPanel/tree/RegExp
Preview Window shows correctly accented characters. Once exported as output file all the italian accented characters are replaced by "?".
Is it possible to support ISO-8859-1 charset?
Thanks.
Expectation: NppMarkdownPanel is uninstallable via Npp's plugins admin.
Just add a custom line comment character before each line of Markdown.
In the comments of code, you can draw flowcharts, tasklist, display data visualizations, etc.
When previewing or converting a format, you only need to simply preprocess: replace the \r\n\;
with \r\n
Note:
;
when we edit the code, we can preview the effect in real time.
Editing literary code has a live preview panel like most markdown editors.
Get the current text
replace the \r\n\;
with \r\n
live Preview markdown string
Easily export directly to PDF or HTML.
It don't break the syntax of any programming language, you can compile directly. comment area markup method can be applied to any programming language and any markup (including Org,rst, asciidoc, etc.), which is the greatest advantage.
you only need a single line of regular replacement preprocessing, then you can use any Markdown parse or converter.
Support any code editor that supports Markdwon Live preview, allowing the source code of any programming language to become rich text in real time. In the code's comment area, You can use the markdown to draw flowcharts, tables, task lists, and display images on the live preview panel, enhance the readability of your code.
If you extend the Markdwon tag, you can implement the eval code, print result, display data visualization and other instruction tags, to achieve live programming, live test.
;### Markdown literary programming
;#### example01:
;```clojure
(defn f [[evens odds total amax amin] x]
(let [[evens odds] (cond
(even? x) [(inc evens ) odds]
(odd? x) [evens (inc odds)]
:else [evens odds])
total (+ total x)
amax (max amax x)
amin (min amin x)]
[evens odds total amax amin]))
;;The comment of the code requires at least two line comment characters
(reduce f [0 0 0 ##-Inf ##Inf] [5 6 8 -3 -9 11 156 6 7])
;```
;return`[4 5 187 156 -9]`
Markdown literary programming
example01:
(defn f [[evens odds total amax amin] x] (let [[evens odds] (cond (even? x) [(inc evens ) odds] (odd? x) [evens (inc odds)] :else [evens odds]) total (+ total x) amax (max amax x) amin (min amin x)] [evens odds total amax amin])) ;The comment of the code requires at least two line comment characters (reduce f [0 0 0 ##-Inf ##Inf] [5 6 8 -3 -9 11 156 6 7])return
[4 5 187 156 -9]
Update Markdig to latest version to support new features like Diagram and Figure support.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.