Finally put together page_html
Note it uses a trick to avoid colliding the html-element-ids but 10/62 of the time it started with a number. Hence i didn’t notice, i have fixed this in 0.0.3
Finally put together page_html, so that linux/unix users don’t have to gather the whole bunch git repos of and configure lua to load it properly. I also fixed some annoyances.
It has userscripts talking to the server. One main one is
commands.user.js, which is a commands panel that can be brought up with
Control-“;”. The below also represents the features it brings:
- Bookmarks, using
bmin the command interface userscript. Has a searchable listing in:
Entries can be deleted/altered there aswel. No entering new ones there yet.
Browsing history. Has a searching history:
The userscripts that implement the history/commands can be obtained in
They've been tested with firefox on [Greasemonkey](http://greasespot.net/).
mirrormirrors manually in another way;
`wget --convert-links -P "%s" -e robots=off --user-agent=one_page_plz -p "%s"`
Not only more complete, but also not overwritten every time you go there.
mpv(if that exists) on the hovered/current uri.
It doubles as command to mirror images and pdfs. Saves having to organize those files when you download them. Viewing them with pdf.js, you can also bookmark them.
symsallows for easily getting a html symbol in your clipboard.
gqmdo quickmarks, not nearly good enough yet, the list doesn’t traverse easily enough, and needs to be easy way to “delete-and-go” for quickmark functionality.
valuesis an interface for changing what’s in
;tor=true;, and mirroring should use TOR, can see
os.executein stdout. (some of
mkdirare filtered out)
It has keyboard(arrow) navigation everywhere. Control-arrows moves around.
Note that it shows SQL, it can also run it. (Note: that may be a security concern, defaultly turned it off in lua)
But you can just throw in search terms in the input
above. Something like
tags:something should also work.
The file is at ojasper.nl/data/data/page_html_set.lua.0.0.3.tar.gz, contains instructions. Basically run one of the shellscripts from its own directory.
Windows isn’t particularly supported, suspect it is a matter of the correct
.DLL being loadable, and then running lua with packages available, but i
am not sure.(careful with which
.DLLs you trust)
for those with Arch Linux, there is an
With that, running
page_html.lua defaultly it runs on port
9090 that can be
specified, but then you have to update the userscripts manually read the right
contains the userscripts, Greasemonkey can load them by
just visiting the files. Haven’t tested other userscript implementations.
PKGBUILD does not follow etiquette properly. It just writes down
/usr/bin/page_html.lua with a
package.path loading the lua from
/usr/local/share/page_html.lua/ which just contains the same as the
In the future
PKGBUILDs should be done better.
(afaics, its not particularly bothersome to anyone?)
There is some room for it;
~/.page_html/assets/$PAGE_NAME/assets/can contain extra assets for said page.
userscripts/cmds_list.jsis “the list”, of commands for the panel. Very raw way of adding things, though.
~/.page_html/lua/is looked in first; you can replace lua files, particularly:
page_html.util.exec_allowedpatterns controlling limitations on
page_html.apps.util.cmdscontains the commands avaiable from util.
However, no way to readily add any to the command-interface yet (though you could modify)
page_html.apps.util.mirror_image_detectrecognizes files for downloading-as-local mirror.
runwhere lua enters.
Nice modifications can be sent as pull-requests.
Not quite there yet
There are many things that should be improved.. Like:
No private browsing detection. Recently made easy, hopefully.
- Doesn’t keep out external CSS.
- Placing not perfect, and not movable or any such.
Should be easier to add your own commands.
Mirrorer only keeps automatic/manual mirroring separate. A more wholesome approach would be better. Also viewing it, would be nice to just essentially browse the directories.
Server itself should provide more docs.
Those things probably most directly affect experience but then the below are important too.
Alt_require to narrow down what lua packages are able to do.
page_html.util.execless.(at least it all goes through there now)
Formulatorthing generating lua seems to work fine, I have a much better way to do all the database stuff.
Hardly exhaustive, of course!
Scratching the surface
Finally, there are more tools a browser can have, and these could clearly be far more customizable. It is a ghost of the functionality i want to have. I want the bookmarks to be sharable to different levels from between-friends to completely public. And preferably not with a single way of transferring the data.
I have been thinking about a overarching approach to fit that into. Applying it seemed like waiting too long to release it, but fixing the things ignores the new approach, so just got rid of annoyances and did the low-hanging fruits.
The new approach is an evolution of the idea in the previous post. I’ll post about it later, that’ll discuss from square one.