<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[NppExec v0.8.6 has been released!]]></title><description><![CDATA[<p dir="auto"><strong>NppExec</strong> is:<br />
<a href="https://github.com/d0vgan/nppexec/" rel="nofollow ugc">https://github.com/d0vgan/nppexec/</a></p>
<p dir="auto"><strong>NppExec v0.8.6</strong>:</p>
<ul>
<li>Glory to Ukraine! Glory to the heroes!</li>
</ul>
<ul>
<li>fixed: “nppexec:npp_console off” did not close the Console after a child process has been finished by the @exit_cmd</li>
<li>fixed: the Console was not automatically shown when the first command of a script was “npp_console local -” or “npp_console local +”</li>
</ul>
<ul>
<li>added: $(NPP_PID)</li>
<li>added: “set +v …” for delayed substitution of variables</li>
<li>added: “set &lt;var&gt; ~ fileexists &lt;path&gt;”, “set &lt;var&gt; ~ direxists &lt;path&gt;”</li>
<li>built-in help slightly updated</li>
<li>NppExec Manual updated</li>
</ul>
<p dir="auto"><strong>Get it here</strong>:<br />
<a href="https://github.com/d0vgan/nppexec/releases/tag/v086" rel="nofollow ugc">https://github.com/d0vgan/nppexec/releases/tag/v086</a><br />
<a href="https://sourceforge.net/projects/npp-plugins/files/NppExec/NppExec%20Plugin%20v0.8.6/" rel="nofollow ugc">https://sourceforge.net/projects/npp-plugins/files/NppExec/NppExec Plugin v0.8.6/</a></p>
<p dir="auto"><strong>Notes</strong>:<br />
The NppExec Manual includes 3 new sections:</p>
<ul>
<li><a href="https://htmlpreview.github.io/?https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/4.6.14.html" rel="nofollow ugc">4.6.14. Notepad++ as a Clipboard Monitor</a></li>
<li><a href="https://htmlpreview.github.io/?https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/4.6.15.html" rel="nofollow ugc">4.6.15. Triggering certain actions while saving a file</a></li>
<li><a href="https://htmlpreview.github.io/?https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/4.8.3.html" rel="nofollow ugc">4.8.3. Console child process workflow</a></li>
</ul>
<p dir="auto">In terms of the core functionality, there were a few improvements and new features added while updating the NppExec Manual.<br />
There was no further progress in the direction of <a href="https://github.com/d0vgan/nppexec/tree/feature/pseudo-console" rel="nofollow ugc">PseudoConsole</a> since the previous release.</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/24797/nppexec-v0-8-6-has-been-released</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 18:27:13 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/24797.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Aug 2023 16:25:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Sun, 20 Aug 2023 13:21:06 GMT]]></title><description><![CDATA[<p dir="auto">One more idea that requires help of someone familiar with HTML.<br />
It would be great to add a search index (ability to search for a given word) to the <a href="https://d0vgan.github.io/nppexec/" rel="nofollow ugc">online NppExec Manual</a>.<br />
I’ve created the corresponding issue on github, please feel free to comment right there:<br />
<a href="https://github.com/d0vgan/nppexec/issues/80" rel="nofollow ugc">https://github.com/d0vgan/nppexec/issues/80</a></p>
]]></description><link>https://community.notepad-plus-plus.org/post/88747</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88747</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Sun, 20 Aug 2023 13:21:06 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Sat, 19 Aug 2023 20:22:30 GMT]]></title><description><![CDATA[<p dir="auto">Makes sense, thank you! Such obvious things did not come to my mind, but I’m learning :)<br />
I’ve created an issue regarding the RichEdit. Anyone interested please feel free to comment right there:<br />
<a href="https://github.com/d0vgan/nppexec/issues/79" rel="nofollow ugc">https://github.com/d0vgan/nppexec/issues/79</a></p>
]]></description><link>https://community.notepad-plus-plus.org/post/88735</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88735</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Sat, 19 Aug 2023 20:22:30 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Sat, 19 Aug 2023 16:20:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a> said in <a href="/post/88731">NppExec v0.8.6 has been released!</a>:</p>
<blockquote>
<p dir="auto">How is this for a compromise?  When an on-topic conversation here starts to edge into things that aren’t Notepad+±specific,</p>
</blockquote>
<p dir="auto">There’s also the option of taking any discussion you want into a dedicated “chat” right on this site.</p>
<p dir="auto">So one could say, “if anyone has some ideas for me about ____, please private chat me and we’ll talk further, without potentially bothering any others”</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88732</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88732</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Sat, 19 Aug 2023 16:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Sat, 19 Aug 2023 15:57:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a> ,</p>
<p dir="auto">I’m trying to walk the fine line of a moderator, of trying to encourage healthy discussion pertinent to Notepad++ (and here, the development and usage of plugins) while not letting things get off into generic programming questions.  Unfortunately, that’s not always easy to do, and it can make people on one or both sides of the viewpoint on a certain discussion unhappy, no matter what I do. Maybe I am being too strict – I’m doing my best, but I’m not perfect.</p>
<p dir="auto">How is this for a compromise?  When an on-topic conversation here starts to edge into things that aren’t Notepad++-specific, you could say, “It looks like we’re straying away from the Notepad++ aspects of my plugin.  If you have any ideas on how to improve the SendMessage with the RichText elements, could you please come to <a href="#" title="link to isue XXXXX in your github">my issue#XXXXX</a> which I created to delve deeper into this?”  That way, interested readers in this Community would know that you’re having difficulty, and if they think of something, they’ll have an on-topic location for where to give you more details.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88731</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88731</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Sat, 19 Aug 2023 15:57:38 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Sat, 19 Aug 2023 15:04:59 GMT]]></title><description><![CDATA[<p dir="auto">For me it’s hard to keep away from offtopic sometimes because NppExec’s nature is all related to effectiveness and development.<br />
For example, one guy asked about the behavior of <code>ipython</code> under NppExec. At that point, I did not even know what <code>ipython</code> is. So, from your perspective, that question could be treated as <code>ipython</code>-specific and, thus, offtopic. However, I invested my time into looking into that problem since <code>ipython</code> was running under NppExec, making it NppExec-related in that sense.<br />
Another example: NppExec is distributed with a few <em>.h</em> (C-header) files because NppExec goes as far as loads these <em>.h</em> files during runtime to read the numeric constants from the files. Correspondingly, NppExec supports two-pass parsing of C <code>#define</code> statements as well as C <code>enum</code> statements. From your perspective, C  <code>#define</code> and <code>enum</code> statements are C-specific and thus can be treated as offtopic - however, it is directly related to NppExec’s code that probably makes them non-offtopic.<br />
Next example: Joseph-Samuel, Lycan Thrope and rdipardo significantly helped with making NppExec’s Manual available online. In terms of NppExec, this is a historical achievement because, from now on, any user of NppExec can access and can be pointed to the online Manual at any time. And this benifit is incommensurably more important than the question of offtopic in the forum. Let me highlight: NppExec Manual would have never been online without Joseph-Samuel’s, Lycan Thrope’s and rdipardo’s help!<br />
You had mentioned that HTML-related things are offtopic here, but you have omitted two truly significant points:</p>
<ol>
<li>People who read and write here, in this topic, do care about NppExec, so their motivation with helping with some technology-specific solution is much higher than in any other solely technology-specific forum. In terms of HTML, I did not even know what to ask about, and only due to Lycan Thrope, <em>because he knows how NppExec’s Manual chm file looks like</em>, I discovered such things as <code>frames</code> in HTML. Then, Joseph-Samuel helped with hosting the HTML Manual on Git (<em>without him, I did not even know that it is possible</em>). Finally, rdipardo helped with the final form of the online/offline Manual. By marking all of this as “offtopic”, you are actually saying: NppExec Manual is not important for Notepad++ Community, we’d prefer to not have the online/offline version in favour of not having technology-specific duscussion in our forum.</li>
<li>While NppExec’s users are free to ask questions about NppExec as a tool and as a technology, I can’t feel free to ask about tools and technologies that are used by NppExec itself. Execuse me, but it looks assymetrical and unfair to me. Again, exactly here, in the forum named “Notepad++ &amp; Plugin <em>Development</em>”, where we have people who care about NppExec and who use <em>different technologies and different tools</em>, there are much higher chances to get an answer. And if people do not have such answer, they just do not reply. For example, in terms of RichEdit, some developer <em>who is interested in Notepad++ and NppExec</em>, might reply e.g.: “RichEdit is an ancient thing, let’s better use another component that has a similar API but is implemented much better. Morover, as I have experience with it and was already thinking about using it NppExec, let’s do it together”. Such an answer would not be possible in any other forum otside of Notepad++'s one.</li>
</ol>
]]></description><link>https://community.notepad-plus-plus.org/post/88725</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88725</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Sat, 19 Aug 2023 15:04:59 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Fri, 18 Aug 2023 22:01:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a> said in <a href="/post/88700">NppExec v0.8.6 has been released!</a>:</p>
<blockquote>
<p dir="auto">Until this point, there’s nothing about “a generic win32 API programming question”, as you mentioned</p>
</blockquote>
<p dir="auto">And your post, until that point, was on topic.  But that point (including the RichEdit question asked) and any followup, is not.  That is why I only quoted that single portion in commenting about off-topic, because that was the portion that was going off-topic.  (And no, I didn’t do it out of shear meanness or something; when I, as a moderator, get <em>valid</em> private complaints about discussions straying off-topic, I have to address them somehow.)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88701</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88701</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Fri, 18 Aug 2023 22:01:59 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Fri, 18 Aug 2023 21:55:02 GMT]]></title><description><![CDATA[<p dir="auto">Guys, I respect your will to avoid off-topic.<br />
Let’s, however, analyze the content of my last message:</p>
<ul>
<li>First I’m presenting an interesting NppExec’s script. Not off-topic.</li>
<li>Second, I’m describing some technical details of NppExec’s implementation. Not off-topic.</li>
<li>then I mention the details of implementation of <code>CNppExecConsole::PrintMessage</code> to illustrate that exactly the implementation of this method adds extra execution time.<br />
Until this point, there’s nothing about “a generic win32 API programming question”, as you mentioned.<br />
Finally, summing up with the slow implementation of <code>CNppExecConsole::PrintMessage</code>, I’m asking “is there a way to append text to RichEdit more effectively”. This question was not the goal of the entire text above.</li>
</ul>
]]></description><link>https://community.notepad-plus-plus.org/post/88700</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88700</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Fri, 18 Aug 2023 21:55:02 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Fri, 18 Aug 2023 21:39:47 GMT]]></title><description><![CDATA[<p dir="auto">Hmm, told TWICE now to avoid off-topic conversations…</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88699</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88699</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Fri, 18 Aug 2023 21:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Fri, 18 Aug 2023 21:10:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a> said in <a href="/post/88695">NppExec v0.8.6 has been released!</a>:</p>
<blockquote>
<p dir="auto">As you can see, all of these are actually messages to a RichEdit window.</p>
</blockquote>
<p dir="auto">It sounds like you’ve got a generic win32 API programming question, then, rather than something specific to Notepad++, and there are other forums on the internet that will have a higher concentration of RichEdit experts than here, where we <a href="https://community.notepad-plus-plus.org/topic/24812/read-this-first">focus</a> on the specifics to the Plugin/Notepad++ interface.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88698</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88698</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Fri, 18 Aug 2023 21:10:36 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Fri, 18 Aug 2023 19:53:34 GMT]]></title><description><![CDATA[<p dir="auto">Recently I had made some optimizations around variables handling in NppExec (in the <a href="https://github.com/d0vgan/nppexec/tree/develop" rel="nofollow ugc">develop</a> branch). So I decided to create a scenario that would help to compare the performance between 0.8.6 and pre-0.8.7. Hence the following simple NppExec’s script was born:</p>
<pre><code>npe_console local -- m-
set local N = 20
set local i = 0

:1
set local i ~ $(i) + 1
if $(i) &gt;= 8400 goto 3
if~ $(i) % 100 != 0 goto 1
set local k ~ ord a
set local kk = 0
:2
set local c ~ chr $(k)
set local v ~ strupper $(c)
set local $($(c)_) = $($(c)_)$(v)
set local k ~ $(k) + 1
set local kk ~ $(kk) + 1
if $(kk) &lt; $(N) goto 2
goto 1

:3
set local k ~ ord a
set local kk = 0
:4
set local c ~ chr $(k)
echo $($(c)_)
set local k ~ $(k) + 1
set local kk ~ $(kk) + 1
if $(kk) &lt; $(N) goto 4
</code></pre>
<p dir="auto">This script intentionally does not use nested IF-THEN-ELSE because, as I discovered during these tests, all the versions of NppExec prior to pre-0.8.7 (in development) had problems with nested IF-THEN-ELSE. I wonder how it happened that no one had reported that before.<br />
Anyway, here is the script that works in both NppExec 0.8.6 and pre-0.8.7 and here are the average execution times of this script on my i5-6600 CPU @ 3.30GHz :</p>
<p dir="auto">0.8.6 - 2.00 seconds<br />
0.8.7 - 0.65 seconds</p>
<p dir="auto">Not bad, I should say.<br />
Now, if you want the very same script to take extra long time of around 2 minutes and 30 seconds (just compare it to 0.65 seconds!), just replace <code>npe_console local -- m-</code> in the beginning of the script with <code>npe_console local -- m+</code>. This clearly shows that the implementation of <code>CNppExecConsole::PrintMessage</code> which is basically:</p>
<pre><code>SendMessage(hRichEdit, EM_EXGETSEL, 0, (LPARAM) &amp;cr);
SendMessage(hRichEdit, WM_SETREDRAW, FALSE, 0);
SendMessage(hRichEdit, EM_EXSETSEL, 0, (LPARAM) &amp;CHARRANGE{-1, -1});
SendMessage(hRichEdit, EM_SETCHARFORMAT, (WPARAM) dwOptions, (LPARAM) &amp;cf);
SendMessage(hRichEdit, EM_REPLACESEL, FALSE, (LPARAM) cszText);
SendMessage(hRichEdit, EM_EXSETSEL, 0, (LPARAM) &amp;cr);
SendMessage(hRichEdit, EM_SCROLLCARET, 0, 0);
SendMessage(hRichEdit, WM_SETREDRAW, TRUE, 0);
if (InvalidateRect(hRichEdit, NULL, TRUE))
    UpdateWindow(hRichEdit);
</code></pre>
<p dir="auto">is slow as hell.<br />
As you can see, all of these are actually messages to a RichEdit window.<br />
I tried to remove <code>SendMessage(hRichEdit, WM_SETREDRAW, FALSE, 0);</code>, together with <code>SendMessage(hRichEdit, WM_SETREDRAW, TRUE, 0);</code>, <code>InvalidateRect(hRichEdit, NULL, TRUE)</code> and <code>UpdateWindow(hRichEdit)</code> - and got 3 minutes and 40 seconds - i.e. 1 minute was added to the previous extra long result!<br />
Oh my, is there a way to append text to RichEdit more effectively, without waiting forever?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88695</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88695</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Fri, 18 Aug 2023 19:53:34 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Tue, 15 Aug 2023 13:00:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a> and all,</p>
<p dir="auto">It seems like this is mostly wrapped up, but if there’s anything more on the HTML/presentation of the NppExec manual, it would be a better fit in the NppExec repo’s issue section than here.</p>
<p dir="auto">Of course, discussion on the plugin itself is quite encouraged here. :-)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88633</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88633</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Tue, 15 Aug 2023 13:00:00 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Tue, 15 Aug 2023 12:10:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/rdipardo" aria-label="Profile: rdipardo">@<bdi>rdipardo</bdi></a><br />
Thank you! I’ve integrated this - seems to work like a charm!<br />
Now I probably understand the feelings of people who are looking at Python’s or NppExec’s scripts with understanding of the general idea behind them but anyway perceiving the entire script like a form of a magic spell :)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88632</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88632</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Tue, 15 Aug 2023 12:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Tue, 15 Aug 2023 10:05:47 GMT]]></title><description><![CDATA[<p dir="auto"><em>Just a few more things.</em></p>
<p dir="auto">If we don’t want to prejudice local servers, we should check the hostname, too, and take into account that index file paths are usually omitted when requesting a server address.</p>
<p dir="auto">Binding a callback to <code>window.onload</code> is also not ideal when it gives the server time to log 404 codes, and the user may see flickering error messages in the window.</p>
<p dir="auto">A full patch would look like this, excluding a new <code>index-1.html</code> page. The <code>&lt;script&gt;</code> element is now a child of <code>&lt;head&gt;</code>, to respect HTML document standards.</p>
<pre><code class="language-diff">diff --git a/docs/index.html b/docs/index.html
index 97dbc11..28ebe28 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -7,24 +7,21 @@
 &lt;title&gt;NppExec Manual: Index&lt;/title&gt;
 &lt;meta http-equiv="Permissions-Policy" content="interest-cohort=()"&gt; &lt;!--Remove warning in browser: feature not enabled: 'interest-cohort'--&gt;
 &lt;base href="/nppexec/"&gt;
-&lt;/HEAD&gt;
-&lt;script&gt;
-  // var protocol = location.protocol;
-  // var hostname = location.hostname;
-  // var pathname = location.pathname;
-  // var protocol = location.protocol
-  // var port     = window.location.port
-  // var baseHref = new URL('http://github.com'); 
-  // baseHref.host = hostname
-  // baseHref.port = port.length&gt;0 ? port : null
-  // baseHref.pathname = pathname
-  // baseHref.protocol = protocol
-  // console.log(baseHref.href);
-  // var head = document.getElementsByTagName('head')[0];
-  // var base = document.createElement('base');
-  // base.href = baseHref.href;
-  // head.appendChild(base);
+&lt;script type="text/javascript"&gt;
+    var protocol = location.protocol;
+    var hostname = location.hostname;
+    var pathname = location.pathname;
+    var href     = location.href;
+    var newPath  = 'index-1.html';
+    var redir    = href.replace(/\/index\.(php|x?html?)$/, '/'+newPath);
+    if (protocol == 'file:') {
+        location.replace(redir);
+    } else if (Array('localhost', '127.0.0.1').indexOf(hostname) &gt; -1) {
+        redir = (pathname == '/') ? href + newPath : redir;
+        location.replace(redir);
+    }
 &lt;/script&gt;
+&lt;/HEAD&gt;
 &lt;FRAMESET cols="30%, 70%"&gt;
   &lt;FRAME name="toc" src="./NppExec_Manual/toc.html"&gt;
   &lt;FRAME name="content" src="./NppExec_Manual/0. Title Page.html"&gt;

</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/88629</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88629</guid><dc:creator><![CDATA[rdipardo]]></dc:creator><pubDate>Tue, 15 Aug 2023 10:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Tue, 15 Aug 2023 07:44:56 GMT]]></title><description><![CDATA[<p dir="auto">I should’ve mentioned that the above will only work on a local <em>server</em>. When that’s the case, the forward slash in the <code>/nppexec</code> base path resolves to the <strong><em>server’s</em></strong> root (presumably <code>docs/</code>). It does not matter where on the <em>file system</em> the <code>docs/</code> directory happens to be saved.</p>
<p dir="auto">But if you’re just browsing the docs over the <code>file://</code> protocol, the forward slash resolves to the <strong><em>file system’s</em></strong> root, and since <code>docs/</code> will never be saved directly under <code>C:\</code> or similar, the <code>/nppexec</code> path won’t be found either.</p>
<p dir="auto">Fortunately there’s a client-side solution for this, too; and it’s even simpler.</p>
<p dir="auto">Just create a <em>second</em> index page, for example <code>index-1.html</code>, identical to <code>index.html</code> except leaving out the <code>&lt;base&gt;</code> path. This will be for locally browsing the file tree.</p>
<p dir="auto">Now your main index just needs a few lines of JavaScript to know when to serve <code>index-1.html</code> instead, e.g.</p>
<pre><code class="language-js">  window.onload = function() {
    if (location.protocol == 'file:') {
      location.replace(location.href.replace(/\/index\.(php|x?html?)$/, '/index-1.html'));
    }
  }
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/88626</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88626</guid><dc:creator><![CDATA[rdipardo]]></dc:creator><pubDate>Tue, 15 Aug 2023 07:44:56 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Mon, 14 Aug 2023 11:27:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a> said in <a href="/post/88597">NppExec v0.8.6 has been released!</a>:</p>
<blockquote>
<p dir="auto">Hence the question whether it is possible to make the <code>&lt;base&gt;</code> tag conditional, depending on whether the path to “index.html” is local or not.</p>
</blockquote>
<p dir="auto">Dynamic HTML is pretty hard without the benefits of a server-side language like PHP. You could more easily just fake the <code>&lt;base&gt;</code> path on local machines.</p>
<p dir="auto">First, make a <code>nppexec/</code> subtree in the <code>docs/</code> root, and create empty files for the pages you need, e.g.</p>
<pre><code class="language-text">docs/
├── fparser.html
├── index.html
├── nppexec
│   └── NppExec_Manual
│       ├── 0. Title Page.html
│       └── toc.html
├── ...
├── NppExec_Manual
|   └── . . .
├── ...
├── ...
├── ...
└── style.css
</code></pre>
<p dir="auto">Now the dummy pages can simply redirect to the real pages using <a href="https://developer.mozilla.org/en-US/docs/Web/API/Location/replace" rel="nofollow ugc">location.replace</a>:</p>
<pre><code class="language-html">&lt;!-- docs/nppexec/NppExec_Manual/toc.html --&gt;
&lt;!DOCTYPE html&gt;
&lt;body&gt;
  &lt;!-- fallback for when JS is disabled by the user agent --&gt;
  &lt;noscript&gt;
    &lt;h1&gt;301 - Moved permanently&lt;/h1&gt;
    &lt;p&gt;
      This page has moved to &lt;a href="../../../NppExec_Manual/toc.html"&gt;../../../NppExec_Manual/toc.html&lt;/a&gt;.
    &lt;/p&gt;
  &lt;/noscript&gt;
  &lt;script&gt;
    window.onload = function() {
      location.replace("../../../NppExec_Manual/toc.html");
    }
  &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<pre><code class="language-html">&lt;!-- docs/nppexec/NppExec_Manual/0. Title Page.html --&gt;
&lt;!DOCTYPE html&gt;
&lt;body&gt;
  &lt;!-- blah... --&gt;
  &lt;script&gt;
    window.onload = function() {
      location.replace("../../../NppExec_Manual/0. Title Page.html");
    }
  &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/88602</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88602</guid><dc:creator><![CDATA[rdipardo]]></dc:creator><pubDate>Mon, 14 Aug 2023 11:27:46 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Mon, 14 Aug 2023 08:13:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/lycan-thrope" aria-label="Profile: Lycan-Thrope">@<bdi>Lycan-Thrope</bdi></a><br />
I mean if I get these files from github to my local machine:<br />
<a href="https://github.com/d0vgan/nppexec/tree/develop/docs" rel="nofollow ugc">https://github.com/d0vgan/nppexec/tree/develop/docs</a><br />
and open the “index.html” in the root of the “docs” folder on my local machine, the content is not shown because of the <code>&lt;base href="/nppexec/"&gt;</code>. Hence the question whether it is possible to make the <code>&lt;base&gt;</code> tag conditional, depending on whether the path to “index.html” is local or not.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88597</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88597</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Mon, 14 Aug 2023 08:13:04 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Mon, 14 Aug 2023 05:24:51 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a> ,<br />
Not sure what you mean?  Just <code>saving</code> the file via browser, saves it to the person’s chosen directory with all the html links so it can be navigated. What are you trying to do differently?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88591</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88591</guid><dc:creator><![CDATA[Lycan Thrope]]></dc:creator><pubDate>Mon, 14 Aug 2023 05:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Sun, 13 Aug 2023 21:14:48 GMT]]></title><description><![CDATA[<p dir="auto">Just wondering: is it possible to alter the “index.html” (in the root) to make it work both from the web and locally? As far as I understand, locally <code>&lt;base href="/nppexec/"&gt;</code> confuses a browser, so maybe there could be some conditional instruction?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88579</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88579</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Sun, 13 Aug 2023 21:14:48 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Sun, 13 Aug 2023 19:07:04 GMT]]></title><description><![CDATA[<p dir="auto">Wow, kudos to Joseph, now NppExec’s Manual is available online!!!<br />
<a href="https://d0vgan.github.io/nppexec/" rel="nofollow ugc">https://d0vgan.github.io/nppexec/</a></p>
]]></description><link>https://community.notepad-plus-plus.org/post/88571</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88571</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Sun, 13 Aug 2023 19:07:04 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Fri, 11 Aug 2023 23:36:24 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/joseph-samuel" aria-label="Profile: Joseph-Samuel">@<bdi>Joseph-Samuel</bdi></a> ,<br />
Thanks. I don’t have a lot of experience with the main purpose of github, myself, let alone all the little tricks it involves.</p>
<p dir="auto">My suggestion of using the html standard of the frameset of 4.0 or 4.01 was to at least allow for someone to setup a local usage, like downloading the documentation to the hard drive and being able to view it in a browser.</p>
<p dir="auto">Thanks for giving him a better usable solution with his current intent.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88535</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88535</guid><dc:creator><![CDATA[Lycan Thrope]]></dc:creator><pubDate>Fri, 11 Aug 2023 23:36:24 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Fri, 11 Aug 2023 21:29:02 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a><br />
I think you have an option to use github pages with frames as suggested by <a class="plugin-mentions-user plugin-mentions-a" href="/user/lycan-thrope" aria-label="Profile: Lycan-Thrope">@<bdi>Lycan-Thrope</bdi></a><br />
Like this <a href="https://bjsam.github.io/nppexec/" rel="nofollow ugc">https://bjsam.github.io/nppexec/</a><br />
<a href="https://github.com/BJSam/nppexec/tree/gh-pages" rel="nofollow ugc">https://github.com/BJSam/nppexec/tree/gh-pages</a><br />
instead of having a new branch(like I did) move all the docs to a docs folder at root and configure github pages to point docs folder.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88530</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88530</guid><dc:creator><![CDATA[Joseph Samuel]]></dc:creator><pubDate>Fri, 11 Aug 2023 21:29:02 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Thu, 10 Aug 2023 03:01:09 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">This thing works locally:<br />
<a href="https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html" rel="nofollow ugc">https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html</a></p>
</blockquote>
<blockquote>
<p dir="auto">But not remotely:<br />
<a href="https://htmlpreview.github.io/?https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html" rel="nofollow ugc">https://htmlpreview.github.io/?https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html</a></p>
</blockquote>
<p dir="auto">The <code>&lt;frameset&gt;</code> is <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/frameset#browser_compatibility" rel="nofollow ugc">strongly discouraged</a> by contemporary web standards, so it’s no wonder the hosting server won’t load it (although the frame borders are still clearly visible).</p>
<p dir="auto">As you’ve noticed, the <code>file:///</code> protocol works fine, as it’s not handled as securely as a remote host — even though a page at a <code>file:///</code> address will still <a href="https://www.theregister.com/2021/09/22/macos_rce_flaw" rel="nofollow ugc">execute whatever scripts</a> may be embedded in it.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88498</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88498</guid><dc:creator><![CDATA[rdipardo]]></dc:creator><pubDate>Thu, 10 Aug 2023 03:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Wed, 09 Aug 2023 20:55:04 GMT]]></title><description><![CDATA[<p dir="auto">Thank you for the hints!</p>
<p dir="auto">This thing works locally:<br />
<a href="https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html" rel="nofollow ugc">https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html</a></p>
<p dir="auto">But not remotely:<br />
<a href="https://htmlpreview.github.io/?https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html" rel="nofollow ugc">https://htmlpreview.github.io/?https://github.com/d0vgan/nppexec/blob/develop/NppExec/doc/NppExec/NppExec_Manual/index-2.html</a></p>
<p dir="auto">I’m so far from this HTML stuff that even this simple “index-2.html” took me noticeable time to make it work locally.<br />
Now I see it does not work remotely :( Moreover, &lt;frame&gt; is stated as “deprecated”, whereas &lt;iframe&gt; does not seem to support automatic resizing when you have two of them and want to move the divider between them. Or I just don’t understand it (that is most likely) :)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/88493</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88493</guid><dc:creator><![CDATA[Vitalii Dovgan]]></dc:creator><pubDate>Wed, 09 Aug 2023 20:55:04 GMT</pubDate></item><item><title><![CDATA[Reply to NppExec v0.8.6 has been released! on Wed, 09 Aug 2023 19:47:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/vitalii-dovgan" aria-label="Profile: Vitalii-Dovgan">@<bdi>Vitalii-Dovgan</bdi></a> ,<br />
The easiest way for you to emulate a chm, is with the use of a frame layout, where your index.html is the host, and it’s screen is broken into frames. For instance, one frame on the left with the “contents” and one on the right for the display of the actual content.</p>
<p dir="auto">I’m not sure what current html standards use, but at least with version 4.0 (which most browsers should be backward compatible with) you can still write html code that allows for this by just changing the header to reflect that version of html.</p>
<p dir="auto">Here’s some sample code showing a page, with 3 framed areas and if you copy this into a new file in NPP and name it index.html you can view it in a browser. Firefox is my choice:</p>
<pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;meta http-equiv="content-type" content="text/html; charset=utf-8"&gt;
    &lt;meta name="description" content=""&gt;
    &lt;meta name="keywords" content=""&gt;
  &lt;title&gt;NPP Frame Reconstruction&lt;/title&gt;
  &lt;/head&gt; 
&lt;frameset rows="20%,*"&gt;
    &lt;frame classname="ridge" name="indexheader" src="https://htmlpreview.github.io/?https://raw.githubusercontent.com/d0vgan/nppexec/develop/NppExec/doc/NppExec/NppExec_Manual/0.%20Title%20Page.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="5" noresize="noresize" bordercolor="#48800C" &gt;
        &lt;frameset cols="15%,*"&gt;
        &lt;frame name="indexmenu" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="5" noresize="noresize" bordercolor="#48800C" &gt;
        &lt;frame name="indexviewport" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="5" noresize="noresize" bordercolor="#48800C" &gt;
    &lt;/frameset&gt;
&lt;/frameset&gt;
&lt;/html&gt;
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/88490</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/88490</guid><dc:creator><![CDATA[Lycan Thrope]]></dc:creator><pubDate>Wed, 09 Aug 2023 19:47:35 GMT</pubDate></item></channel></rss>