Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of upstream forks #36

Open
Darthagnon opened this issue Dec 16, 2020 · 12 comments
Open

List of upstream forks #36

Darthagnon opened this issue Dec 16, 2020 · 12 comments

Comments

@Darthagnon
Copy link

Darthagnon commented Dec 16, 2020

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:

  • https://github.com/andrzejQ/NppMarkdownPanel/releases/
  • (forked from 3rd gen UrsineRaven fork of mohzy83's)
  • Last updated: 13 Aug 2020
  • 13 commits ahead of UrsineRaven who is 4 commits ahead of mohzy83
  • Added HTML export and fixed some char escape bugs. HTML exports convert links to absolute from relative

vinsworldcom fork:

@Darthagnon
Copy link
Author

Darthagnon commented Jun 3, 2022

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
Copy link
Owner

mohzy83 commented Jun 14, 2022

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
Copy link

sebthom commented Oct 23, 2022

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

@vinsworldcom
Copy link

vinsworldcom commented Dec 12, 2022

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:

  • Status bar in the preview window to show actual URL of hovered links

image

  • Option to synchronize with vertical scroll. Attempt to make estimates about size of document and scrolling so that when vertically scrolling (e.g., mouse wheel) the preview scrolls with the edit view. This would work better if Scintilla SCN_UPDATEUI actually passed the Updated field correctly.

  • Render HTML documents by bypassing the Markdig and just going straight to render HTML

image

  • Markdown and HTML extensions that trigger rendering, print error otherwise:

image

image

  • A set of filters (only manually via the config file) to render HTML from 3rd party programs:

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
Copy link
Owner

mohzy83 commented Dec 13, 2022

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
Copy link

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
Copy link

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
Copy link
Owner

mohzy83 commented Dec 13, 2022

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
Copy link

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
Copy link
Owner

mohzy83 commented Dec 13, 2022

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

@vinsworldcom
Copy link

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
Copy link
Owner

mohzy83 commented Dec 13, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants