mohzy83 / NppMarkdownPanel

Lightweight Notepad++ plugin to preview Markdown files
MIT License
224 stars 36 forks source link

List of upstream forks #36

Open Darthagnon opened 3 years ago

Darthagnon commented 3 years ago

I've been looking around at the forks of the Notepad++ Markdown Panel plugin project, and here's the results that I've found:

See also

Unrelated, but similar project, with PDF export of rendered Markdown: https://github.com/nea/MarkdownViewerPlusPlus

1st generation

Original version:

2nd generation

914802951 fork:

mohzy83 independent (based off parts of the original)

3rd generation

UrsineRaven fork:

4th generation

andrzejQ fork:

vinsworldcom fork:

Darthagnon commented 2 years ago

It's been a couple of years. @mohzy83, how does your version (v0.6.2) compare to vinsworldcom's version (v0.6.5.2) these days? Just wondering for myself and other users, which version we should use.

It doesn't look like there's been much pulling of changes, despite recent activity on both forks, but currently (June 2022) vinsworldcom's version seems to have more "constructive" changes (i.e. complex under-the-hood stuff, not just Readme updates) - maybe worth communicating or sharing code changes...?

mohzy83 commented 2 years ago

Hi, the last version 0.6.2 was a maintenance release to fix a bug with the 64-bit version of Npp (no updates after editing). Also the new Npp Headers were included. But I dont plan to add a lot new features, just "bugfixing". If you are happy with the version of vinsworld, stick with it ;)

sebthom commented 1 year ago

@Darthagnon there is also https://github.com/monoblaine/MarkdownViewerPlusPlus which seems pretty active

vinsworldcom commented 1 year ago

If you are happy with the version of vinsworld, stick with it ;)

I'd be happy to abandon my fork and use this "official" repo if there is going to be the ongoing development I've witnessed in the last few weeks. I've been trying to incorporate some of the changes in my fork. The things my fork does that this does not yet:

image

image

image

image

C:\usr\bin\npp64\plugins\Config\MarkdownPanel.ini

10: [Filter0]
11: Extensions=.pl,.pm
12: Program=pod2html.bat
13: Arguments=--css C:\usr\bin\npp64\plugins\MarkdownPanel\style.css --cachedir %TEMP%

image

I think that's mostly it.

Feel free to lift any of my code and put it in. Alternatively, I could create some PR's if that would work. I have very little C# skills so many of my fixes are brute forcing something in vs. properly developing it, but this plugin was superior to all the other Markdown / HTML previewers for Notepad++ - just seemed the development stalled so I forked.

Cheers.

mohzy83 commented 1 year ago

Feel free to lift any of my code and put it in. Alternatively, I could create some PR's if that would work. I have very little C# skills so many of my fixes are brute forcing something in vs. properly developing it, but this plugin was superior to all the other Markdown / HTML previewers for Notepad++ - just seemed the development stalled so I forked.

Cheers.

Hi,

I think the features you have implemented are really useful! Would appreciate if you could create PR's with your changes, so I could put them in. But I am not sure if your fork is still compatible with this one.

The feature to check for valid file extenstions has been implemented in version 0.7.0, means this feature can be skipped.

Is the "Filter" feature some kind of pipeline for further processing of markdown files or just a different way to convert other source files to html?

Cheers.

vinsworldcom commented 1 year ago

Would appreciate if you could create PR's with your changes, so I could put them in.

Sure. I'll start with easy ones - status bar, zoom level slider number initialize, etc.

The feature to check for valid file extenstions has been implemented in version 0.7.0, means this feature can be skipped.

Not sure it needs to be skipped, we could probably think about how to blend them. I have in settings 2 text boxes, one for valid Markdown extensions (call that your "SupportedExtensions") and one for the HTML extensions to render HTML documents by the renderer, without first passing to Markdig. That part may need a little work.

Is the "Filter" feature some kind of pipeline for further processing of markdown files or just a different way to convert other source files to html?

Yes. My README has an example. pod2html runs Perl scripts through a converter that takes the POD (plain old documentation) and creates an HTML output. I then send that HTML output to the renderer (partial):

                var filterProgram = filterProgs[filter];
                var filterArguments = filterArgs[filter];
                var process = new Process
                {
                    StartInfo = new ProcessStartInfo
                    {
                        FileName = filterProgram,
                        Arguments = $"{filterArguments} \"{notepadPPGateway.GetCurrentFilePath()}\"",
                        UseShellExecute = false,
                        RedirectStandardOutput = true,
                        CreateNoWindow = true
                    }
                };

                process.Start();
                string data = process.StandardOutput.ReadToEnd();
                process.WaitForExit();
                markdownPreviewForm.RenderHtml(data, notepadPPGateway.GetCurrentFilePath(), false);

Cheers.

vinsworldcom commented 1 year ago

So it seems creating a fork is not possible since I already have a fork of an upstream. I tried a pull request, with a simple change but it included all of my past changes. Not sure how to proceed.

Suggestions?

mohzy83 commented 1 year ago

Well this sounds like its going to be difficult... I am no Github expert user, but maybe its possible for you to cherry pick just one commit which contains the specific feature? Hopefully we don't need to do a manual migration of your changes, that would be quite tedious.

vinsworldcom commented 1 year ago

I am no Github expert user

Nor am I !

Maybe I could submit issues with diff/patch files for some of these more simple ones to start off?

Cheers.

mohzy83 commented 1 year ago

Ok we could try this approach. I dont think Github was intended to be used that way but who cares ;)

vinsworldcom commented 1 year ago

I dont think Github was intended to be used that way but who cares ;)

I know, sorry, but I've tried a few different ways to get another fork of your repo directly, but it's preventing me since I already have a fork from UrsineRaven. When I tried my PR, it included ALL the changes from mine, not just the one I put on the candidate branch. That is very undesirable. I want to contribute, not force a rewrite!

I tried a first simple one here: #58

Cheers.

mohzy83 commented 1 year ago

I have applied one patch #58 and two PR's. Everything compiles and works just fine. @vinsworldcom Thanks for your contribution!