adaptable ebrowser links

This commit is contained in:
James Feng Cao 2024-06-11 18:42:38 +08:00
parent 8eb8e9e41f
commit 7eccedfecc
19 changed files with 1066 additions and 32 deletions

View file

@ -6,7 +6,7 @@
<description>Recent content in _Posts on uweb browser: unlimited power</description>
<generator>Hugo</generator>
<language>en</language>
<lastBuildDate>Fri, 24 May 2024 09:50:14 +0800</lastBuildDate>
<lastBuildDate>Tue, 11 Jun 2024 08:12:27 +0800</lastBuildDate>
<atom:link href="/en/_posts/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
@ -111,7 +111,7 @@
<link>/en/bookmarklet/</link>
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/bookmarklet/</guid>
<description>With a href=&amp;quot;../index.html#&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
<description>With uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection&#xA;Restore context menu</description>
</item>
<item>
<title>CSS styles</title>

View file

@ -49,7 +49,7 @@
<li><a href="../tags/javascript/index.html#">javascript</a> </li>
</ul>
<p>With a href=&quot;../index.html#&quot;&gt;uweb browser</a>, long pressing any bookmarklet link, click &quot;Open in new tab&quot;, the bookmarklet will be run on the last other tab.</p>
<p>With <a href="../index.html#">uweb browser</a>, long pressing any bookmarklet link, click &quot;Open in new tab&quot;, the bookmarklet will be run on the last other tab.</p>
<p><a href="javascript:{let es=document.getElementsByTagName('script');let urls='';for(let i=0;i<es.length;i++){if(es[i].src)urls+=es[i].src+'<br>';}let w=window.open(''),s=w.document;s.write(urls);s.close();w.location.href='i:631:';}">List all script urls</a></p>
<p><a target="_self" href="javascript:alert(navigator.userAgent)">User agent</a><br>
<a href="javascript:(function(){var w=window.open(''),s=w.document;s.write('<html><body></body></html>');s.close();var pre=s.body.appendChild(s.createElement('pre'));pre.style.overflow='auto';pre.style.whiteSpace='pre-wrap';pre.appendChild(s.createTextNode(document.cookie))})()">Cookie</a><br>
@ -71,8 +71,8 @@
<p><a href="javascript: (function() { var url = ('http://www.bugmenot.com/view/' + escape(location.hostname)); w = open(url, 'w', 'location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=400,modal=yes,dependent=yes'); if (w) { setTimeout('w.focus()', 1000) } else { location = url } })();">BugMeNot</a></p>
</div>
<p>Last Modified: 2 April 2024<br>
add js function in README<br>
<p>Last Modified: 11 June 2024<br>
fix typos<br>
<pre></pre>
</p>

View file

@ -0,0 +1,178 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../style.css#" type="text/css" />
<title></title>
<script type="text/javascript">
function findLang(){
let href = location.href;
for(let i=href.length-1;i>0;i--){
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
return i;
}
return 0;
}
function nav2(page){
let i = findLang();
location.href = location.href.substring(0,i+1)+page;
}
function nav2Lang(lang){
let i = findLang();
let href = location.href;
location.href = location.href.substring(0,i-2)+lang+location.href.substring(i);
}
</script>
</head>
<body>
<header class='header'>
<a class="logo" href="javascript:void(0)" onclick="return nav2('index.html#')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html#')">Tags</a>
<nav>
</nav>
</header>
<br />
<div class="container">
<h1 class="title">
<br>
<span class="subtitle"></span>
</h1>
<ul class="tags">
</ul>
<h3 id="ebrowserhttpsgithubcomtorappinfoebrowser-as-alternative-to-uweb-browserhttpsgithubcomtorappinfouweb"><a href="https://github.com/torappinfo/ebrowser">Ebrowser</a> as alternative to <a href="https://github.com/torappinfo/uweb">uweb browser</a></h3>
<p>Ebrowser is the minimal browser with the philosophy of <a href="https://gitlab.com/jamesfengcao/uweb">Android uweb browser</a>.</p>
<ul>
<li>lightweight (less than 20k bytes) without bundled electron.</li>
<li>much less memory footprint than edge/chrome browser and highly performant.</li>
<li>keyboard (command line) friendly.</li>
<li>customizable.</li>
</ul>
<p>Note: Usually electron apps are heavyweight as they use browsers for simple things. Ebrowser uses core chromium effectively and very lightweight. Recommend to install electron separately.</p>
<h4 id="install-for-windows-macos-and-linux">Install (for Windows, macOS and Linux)</h4>
<p>Install ebrowser with nodejs installed</p>
<pre><code>npm install ebrowser
</code></pre>
<p>Run ebrowser</p>
<pre><code>electron ~/node_modules/ebrowser
</code></pre>
<h4 id="key-shortcuts">Key shortcuts</h4>
<ul>
<li>CTRL+G: address bar to show page url</li>
<li>CTRL+L: focus to address bar</li>
<li>CTRL+T: new Tab</li>
<li>CTRL+TAB: switch to next tab</li>
<li>CTRL+SHIFT+TAB: switch to previous tab</li>
<li>CTRL+W: close Tab</li>
<li>CTRL+&lt;-: go backward</li>
<li>CTRL+-&gt;: go forward</li>
<li>CTRL+SHIFT+R: enable global redirection (&quot;gredirect.json&quot;)</li>
<li>CTRL+R: disable global redirection</li>
<li>ESC: remove focus. similar to vi normal mode.</li>
<li>F5: page refresh/reload</li>
<li>F12: devtools</li>
<li>&quot;:&quot; for address bar commands</li>
<li>&quot;/&quot; for find-in-page with address bar</li>
<li>&quot;!&quot; for &quot;:!&quot; address bar commands</li>
</ul>
<h4 id="address-bar-commands">Address bar commands</h4>
<ul>
<li>&quot;/&quot; for find-in-page</li>
<li>&quot;:&quot; for address bar commands
<ul>
<li>autoc [bookmark/history path w/o ext] : load &quot;.rec&quot; file for autocomplete.</li>
<li>b [bookmarkfilename w/o ext] : bookmark current page in file.</li>
<li>bml [filename w/o extension]: load/execute the javascript file.</li>
<li>cert : allow invalid certificates w/o arguments, otherwise restore to default.</li>
<li>clear : the arguments could be
<ul>
<li>cache : clear cache</li>
<li>dns : clear dns cache</li>
<li>storage: clear site storage data.</li>
</ul>
</li>
<li>ext [extension path]: load unpacked Chrome extension.</li>
<li>nh/uh for No/Use url history.</li>
<li>nj/uj for No/Use external Javascript files.</li>
<li>nr/ur for No/Use &quot;redirect.json&quot; for domain redirection.</li>
<li>np : no proxy</li>
<li>up [proxyName] : use proxy. privous proxy or the first proxy in proxy.json w/o [proxyName].</li>
<li>ua [useragentName] : set user agent for future tabs. default user agent w/o arguments.</li>
<li>pdf [filename w/o extension] {<a href="https://www.electronjs.org/docs/latest/api/web-contents#contentsprinttopdfoptions">options</a>} : print to PDF file. All arguments are optional; empty option &quot;{}&quot; to capture long screenshot as vector graphics.</li>
</ul>
</li>
<li>&quot;:!&quot; address bar commands</li>
</ul>
<h4 id="commands-in-no-focus-mode-this-mode-is-similar-to-vi-normal-mode">Commands in no-focus mode (this mode is similar to vi Normal mode)</h4>
<p>Pressing &quot;ESC&quot; to enter no-focus mode if not sure.<br>
The commands are defined in &quot;mapkeys.json&quot;, which will map keys to address bar commands.</p>
<h4 id="configuration-files">Configuration files</h4>
<ul>
<li>&quot;config&quot;: lines of address bar commands.</li>
<li>&quot;search.json&quot;: search engines as shortcut-queryUrl pairs.</li>
<li>&quot;default.autoc&quot;: predefined strings for address bar auto completion.</li>
<li>&quot;gredirect.json&quot;: global redirection urls as array of urls</li>
<li>&quot;redirect.json&quot;: domain-replacementDomain pairs, default to be applied.</li>
<li>&quot;mapkeys.json&quot;: keys-addressbarCommands pairs. The addressbar commands are multiple lines of address bar command separated by &quot;\n&quot;.</li>
<li>&quot;proxy.json&quot;: name-<a href="https://www.electronjs.org/docs/latest/api/structures/proxy-config">ProxyConfig</a> pairs</li>
<li>&quot;uas.json&quot; : name-useragent pairs</li>
</ul>
<h4 id="new-usages">New usages</h4>
<ul>
<li>
<p>Vector designing with web tech to replace Adobe Illustrator/Inkscape.</p>
<ul>
<li>
<p>Design with web tech.</p>
</li>
<li>
<p>Printing to pdf with customized paper size.</p>
</li>
<li>
<p>Magnify the pdf paper size to the required size.</p>
</li>
</ul>
<p>OR</p>
<ul>
<li>Adjust window width and use addressbar command line &quot;:Pdf {}&quot; to export vector graphics.</li>
<li>Use imageMagick to convert to any other vector graphics format.</li>
</ul>
</li>
</ul>
</div>
<p>Last Modified: 11 June 2024<br>
<br>
<pre></pre>
</p>
<script id='jsgiscus'
src='https://giscus.app/client.js'
data-repo="torappinfo/uweb"
data-repo-id="MDEwOlJlcG9zaXRvcnkzMDIyMDU3MjE="
data-category="Announcements"
data-category-id="DIC_kwDOEgNLGc4CQjsh"
data-mapping="title"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous" async>
</script>
<footer class="site-footer">
<div class="container">
&copy; 2018-2024 Richard H. Cao
</div>
</footer>
<!-- This document is licensed under the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at <https://www.gnu.org/licenses/>. -->
</body>
</html>

View file

@ -6,7 +6,7 @@
<description>Recent content on uweb browser: unlimited power</description>
<generator>Hugo</generator>
<language>en</language>
<lastBuildDate>Mon, 10 Jun 2024 17:27:55 +0800</lastBuildDate>
<lastBuildDate>Tue, 11 Jun 2024 18:34:35 +0800</lastBuildDate>
<atom:link href="/en/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Text selection/processing</title>
@ -132,7 +132,7 @@
<link>/en/bookmarklet/</link>
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/bookmarklet/</guid>
<description>With a href=&amp;quot;../index.html#&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
<description>With uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection&#xA;Restore context menu</description>
</item>
<item>
<title>Url services</title>
@ -211,6 +211,13 @@
<guid>/en/gesture/</guid>
<description>Swipe down from the top to show the address bar; swipe up to the top to hide the address bar. Swipe down to the bottom to hide the toolbar with option &amp;quot;swipe to hide tools&amp;quot;; swipe on the bottom corners to show the toolbar.&#xA;Swipe left/right near the toolbar to switch window; fling left/right to switch to the last/first window.&#xA;Swiping on the top part of content window (near the top address bar by default) triggers corresponding link in the file &amp;quot;default.</description>
</item>
<item>
<title></title>
<link>/en/ebrowserreadme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/en/ebrowserreadme/</guid>
<description>Ebrowser as alternative to uweb browser Ebrowser is the minimal browser with the philosophy of Android uweb browser.&#xA;lightweight (less than 20k bytes) without bundled electron. much less memory footprint than edge/chrome browser and highly performant. keyboard (command line) friendly. customizable. Note: Usually electron apps are heavyweight as they use browsers for simple things. Ebrowser uses core chromium effectively and very lightweight. Recommend to install electron separately.&#xA;Install (for Windows, macOS and Linux) Install ebrowser with nodejs installed</description>
</item>
<item>
<title></title>
<link>/en/mirrors/</link>

View file

@ -88,7 +88,7 @@
<img src="https://i.postimg.cc/HLV3TYLy/longclick.png"><br>
<img src="https://i.postimg.cc/XJ58ysdN/option1.png"><br>
<img src="https://i.postimg.cc/0NFnQT6H/option2.png"></p>
<h4 id="ebrowserhttpsgithubcomtorappinfoebrowser-for-windows-macos-and-linux"><a href="https://github.com/torappinfo/ebrowser">Ebrowser</a> for Windows, MacOS and Linux</h4>
<h4 id="a-hrefebrowsermd--onclickifnotrepolocationenebrowserreadmeindexhtmlreturn-falseebrowsera-for-windows-macos-and-linux"><a href="ebrowser.md" onclick="if(notRepo()){location='../../en/ebrowserreadme/index.html#';return false;}">Ebrowser</a> for Windows, MacOS and Linux</h4>
<p>Ebrowser is a simple verison of uweb browser on the desktop.</p>
<ul>
<li>Fully open source.</li>
@ -106,8 +106,8 @@
</ul>
</div>
<p>Last Modified: 10 June 2024<br>
rename eweb to ebrowser<br>
<p>Last Modified: 11 June 2024<br>
use adaptable ebrowser links<br>
<pre></pre>
</p>

View file

@ -3,7 +3,7 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/en/_posts/</loc>
<lastmod>2024-05-24T09:50:14+08:00</lastmod>
<lastmod>2024-06-11T08:12:27+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -32,7 +32,7 @@
/>
</url><url>
<loc>/en/tags/</loc>
<lastmod>2024-05-24T09:50:14+08:00</lastmod>
<lastmod>2024-06-11T08:12:27+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -71,7 +71,7 @@
/>
</url><url>
<loc>/en/</loc>
<lastmod>2024-06-10T17:27:55+08:00</lastmod>
<lastmod>2024-06-11T18:34:35+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -207,7 +207,7 @@
/>
</url><url>
<loc>/en/tags/javascript/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<lastmod>2024-06-11T08:12:27+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -320,7 +320,7 @@
/>
</url><url>
<loc>/en/bookmarklet/</loc>
<lastmod>2024-04-02T11:45:19+08:00</lastmod>
<lastmod>2024-06-11T08:12:27+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -506,12 +506,15 @@
hreflang="en"
href="/en/gesture/"
/>
</url><url>
<loc>/en/ebrowserreadme/</loc>
<lastmod>2024-06-11T18:18:13+08:00</lastmod>
</url><url>
<loc>/en/mirrors/</loc>
<lastmod>2024-04-06T10:20:49+08:00</lastmod>
</url><url>
<loc>/en/readme/</loc>
<lastmod>2024-06-10T17:27:55+08:00</lastmod>
<lastmod>2024-06-11T18:34:35+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"
@ -536,7 +539,7 @@
/>
</url><url>
<loc>/en/unlist/</loc>
<lastmod>2024-06-10T17:27:55+08:00</lastmod>
<lastmod>2024-06-11T18:34:35+08:00</lastmod>
<xhtml:link
rel="alternate"
hreflang="zh"

View file

@ -6,7 +6,7 @@
<description>Recent content in Tags on uweb browser: unlimited power</description>
<generator>Hugo</generator>
<language>en</language>
<lastBuildDate>Fri, 24 May 2024 09:50:14 +0800</lastBuildDate>
<lastBuildDate>Tue, 11 Jun 2024 08:12:27 +0800</lastBuildDate>
<atom:link href="/en/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Clipboard</title>

View file

@ -6,7 +6,7 @@
<description>Recent content in Javascript on uweb browser: unlimited power</description>
<generator>Hugo</generator>
<language>en</language>
<lastBuildDate>Tue, 02 Apr 2024 11:45:19 +0800</lastBuildDate>
<lastBuildDate>Tue, 11 Jun 2024 08:12:27 +0800</lastBuildDate>
<atom:link href="/en/tags/javascript/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>JS/CSS/HTML/preprocessing for domains</title>
@ -20,7 +20,7 @@
<link>/en/bookmarklet/</link>
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
<guid>/en/bookmarklet/</guid>
<description>With a href=&amp;quot;../index.html#&amp;quot;&amp;gt;uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection</description>
<description>With uweb browser, long pressing any bookmarklet link, click &amp;quot;Open in new tab&amp;quot;, the bookmarklet will be run on the last other tab.&#xA;List all script urls&#xA;User agent&#xA;Cookie&#xA;Source code&#xA;Last modified date&#xA;Eruda: mobile console&#xA;QR code generation&#xA;Use &amp;quot;GET&amp;quot; method for &amp;quot;POST&amp;quot;&#xA;Shows all form elements&#xA;Enables all form elements&#xA;Toggle checkboxes&#xA;Check all checkboxes&#xA;Uncheck all checkboxes&#xA;Toggle all checkboxes in forms&#xA;Enable selection&#xA;Restore context menu</description>
</item>
<item>
<title>Long pressed link menu</title>

View file

@ -7,6 +7,13 @@
<generator>Hugo</generator>
<language>en</language>
<atom:link href="/en/unlist/index.xml" rel="self" type="application/rss+xml" />
<item>
<title></title>
<link>/en/ebrowserreadme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/en/ebrowserreadme/</guid>
<description>Ebrowser as alternative to uweb browser Ebrowser is the minimal browser with the philosophy of Android uweb browser.&#xA;lightweight (less than 20k bytes) without bundled electron. much less memory footprint than edge/chrome browser and highly performant. keyboard (command line) friendly. customizable. Note: Usually electron apps are heavyweight as they use browsers for simple things. Ebrowser uses core chromium effectively and very lightweight. Recommend to install electron separately.&#xA;Install (for Windows, macOS and Linux) Install ebrowser with nodejs installed</description>
</item>
<item>
<title></title>
<link>/en/mirrors/</link>