Re: Serving .org files for worg (was: Re: Library of babel help)

2022-07-29 Thread Tim Cross


Max Nikulin  writes:

> On 01/07/2022 04:48, Tim Cross wrote:
>> 1. Just using the .org as the suffix of the url instead of the .html did
>> not work for me using two different browser. However, it did work for
>> ihor, so either I did something wrong or there is something in my setup
>> which is preventing that from working. Need to investigate further.
>> However, that is not my main issue.
>
> Tim, have you managed to achieve any progress with either nginx or with 
> settings of your
> browsers?
>
> I have tried some variants of desktop environments with almost default 
> setting without
> issues similar to yours.
>
> Org files are fetched to the Downloads folder without additional user actions 
> (besides
> Firefox-91). It is not always obvious at first glance. With default settings:
> - Chromium displays a bar at the bottom of the window.
> - Firefox-102 (Ubuntu and Gnome, Arch and KDE) opens transient popup window. 
> In
>   Ububntu-22.04 firefox and chromium are installed as snap packages.
> - Firefox-91 (Debian, Xfce) displays more traditional popup window to confirm 
> download
>   (somehow it guesses that it is an org-mode file even for 
> application/octet-stream
>  MIME-type).
>
> If I change MIME type then Chromium displays internally both text/plain and 
> text/x-org,
> Firefox asks for an external application for text/x-org while text/plain is 
> displayed in
> the browser tab.
>
> The following snippet should be added to nginx configuration to assign MIME 
> type for .org
> files:
>
> types {
> # Chromium opens text/x-org in the browser tab,
> # Firefox downloads files and offers to open in some other 
> application.
> # text/x-org  org;
> text/plain  org;
> }
>
> See http://nginx.org/en/docs/http/ngx_http_core_module.html#types
> It is assumed that default mime.types is included somewhere.

Yes, I do have it working in my local dev environment. I have also made
some progress with improvements with both the nginx and worg layout, but
it isn't ready for 'prime time' yet. My testing with different browsers
did show variation across browsers and this is something I would like to
avoid. I also have come to a similar conclusion to you and think it is
about setting a mime handler for org files in nginx.  

Unfortunately, during this whole process, I had a major hardware failure
and have had to re-build my whole system. One of the things I did have
on my TODO list was to migrate from using Ubuntu to Fedora and while I
was going to do that later, given that I had to restore from backups
onto a new system, I decided to make the switch now.

While immensely happy with Fedora and pleased to be free of some of the
stuff I didn't like with current Ubuntu, it has been 20 years since I've
run a RH based distro, so there has been some learning curve to deal
with which has slowed down my progress with worg (especially getting up
to speed with SELinux, dnf and flatpak). However, it is progressing and
I hope to have something for everyone to look at sooner rather than
later.

I have now become a member of the SourceHut community and I think it
should be possible to deploy a dev/uat version of the new worg site to
their pages site. This should provide a relatively easy way for everyone
who is interested to have a look at the changes I'm making. I'm also
hoping this will also provide a workable 'dev' site for the main worg
repository so that anyone with the correct permissions can make changes,
deploy to the dev site to verify nothing is broken and then push it to
the production site. My hope is this will make people more relaxed and
confident in contributing while also ensuring a good user experience for
worg users. I still have a bit of work to do getting to grips wiht the
sh tools and understanding how they can help. There is definitely some
good stuff here, but there are still some rough edges you have to work
with and some different concepts/approaches I'm not yet familiar with. 

The good news is that I think all the necessary prerequisite stuff is
now working well and I can focus on the specifics of worg and the
various moving parts which make up orgmode.org!



Re: Serving .org files for worg (was: Re: Library of babel help)

2022-07-29 Thread Max Nikulin

On 01/07/2022 04:48, Tim Cross wrote:


1. Just using the .org as the suffix of the url instead of the .html did
not work for me using two different browser. However, it did work for
ihor, so either I did something wrong or there is something in my setup
which is preventing that from working. Need to investigate further.
However, that is not my main issue.


Tim, have you managed to achieve any progress with either nginx or with 
settings of your browsers?


I have tried some variants of desktop environments with almost default 
setting without issues similar to yours.


Org files are fetched to the Downloads folder without additional user 
actions (besides Firefox-91). It is not always obvious at first glance. 
With default settings:

- Chromium displays a bar at the bottom of the window.
- Firefox-102 (Ubuntu and Gnome, Arch and KDE) opens transient popup 
window. In Ububntu-22.04 firefox and chromium are installed as snap 
packages.
- Firefox-91 (Debian, Xfce) displays more traditional popup window to 
confirm download (somehow it guesses that it is an org-mode file even 
for application/octet-stream MIME-type).


If I change MIME type then Chromium displays internally both text/plain 
and text/x-org, Firefox asks for an external application for text/x-org 
while text/plain is displayed in the browser tab.


The following snippet should be added to nginx configuration to assign 
MIME type for .org files:


types {
# Chromium opens text/x-org in the browser tab,
# Firefox downloads files and offers to open in some other 
application.

# text/x-org  org;
text/plain  org;
}

See http://nginx.org/en/docs/http/ngx_http_core_module.html#types
It is assumed that default mime.types is included somewhere.




Re: Serving .org files for worg (was: Re: Library of babel help)

2022-06-30 Thread Max Nikulin

On 01/07/2022 04:48, Tim Cross wrote:


1. Just using the .org as the suffix of the url instead of the .html did
not work for me using two different browser. However, it did work for
ihor, so either I did something wrong or there is something in my setup
which is preventing that from working. Need to investigate further.
However, that is not my main issue.


I do not think that a chance of such event is noticeable, but you may 
observe different behavior because you tried to access different files. 
More likely you get files saved to Downloads.


Tim, likely you can not work with browsers unless significant 
customization is applied. Generally it is better to have virtual 
machines with popular environments and as little modifications as 
possible. Unfortunately just now I am preparing to move my VMs to 
another disk, so I would prefer to postpone setting up another instance 
suitable for such purpose.



My main issue is that having to know you can change the suffix from
.html to .org in order to get the source is insufficient. It won't be
obvious to many users and will only make some sense to experienced org
users. I think the link should be obvious and I think the server
configuration should be set so that accessing the .org url gives a
sensible result (i.e. prefer opening it as plain text to offering to
download).


I do not mind to have explicit link to .org file. It may be placed to 
the header section with table of contents and the donation link. Such 
link may be like 
https://git.sr.ht/~bzg/worg/tree/master/item/org-artwork.org (I have no 
idea if it may add noticeable load to Drew DeVault's servers). However 
SourceHut does not highlight org sources currently. On the other hand it 
does not try to render them formatted, so sources are visible. Another 
problem is long lines. Unfortunately they are not wrapped and the 
following causes discrepancy with line numbers, so I can not suggest a fix:


/* main.min.112ca73b.css | https://git.sr.ht/static/main.min.112ca73b.css */

.code-view .highlight pre {
  white-space: pre-wrap;
}


The initial aim is to make the site consistent and the build process
server independent. Ideally, anyone will be able to clone the repo, set
a document root and run the build process to create a fully working
local worg site. Little in this first stage is terribly contentious.


I am afraid, to run local instance of worg, it would be necessary to 
explicitly specify MIME type for .org files otherwise they may be 
attributed to Lotus.





Re: Serving .org files for worg (was: Re: Library of babel help)

2022-06-30 Thread Tim Cross


Max Nikulin  writes:

> On 30/06/2022 16:06, Tim Cross wrote:
>> 
>>> Aren't they currently available? I can and I was always able to get the
>>> org sources by changing the link from .html to .org.
>> No, that doesn't work for me using either chrome or firefox. Chrome just
>> keeps switching back to the HTML url and firefox just hangs, returning
>> nothing. Bastien has sent me the nginx config being used, but I've not
>> yet had a look at it.
>
> It is rather strange
>
> curl -I 'https://orgmode.org/worg/doc.org'
> ...
> Content-Type: application/octet-stream
>
> browsers should offer "save as" dialog in such case. It is possible to add
> Content-Disposition header to force "save" prompt, but I am unsure if it the
> best option. I would prefer some desktop-wide MIME handler, but there is not
> specific type for org. text/plain will be likely handled by browsers 
> internally.
> Unsure if something like "text/x-org" is better since anyway custom
> configuration will be required.
>
> Tim, did you face the problem with some particular file? Browsers might try to
> guess real MIME type from file content. If the problem is reproducible, you 
> may
> experiment with "no sniff" header.

There are 2 issues as I see it.

1. Just using the .org as the suffix of the url instead of the .html did
not work for me using two different browser. However, it did work for
ihor, so either I did something wrong or there is something in my setup
which is preventing that from working. Need to investigate further.
However, that is not my main issue.

My main issue is that having to know you can change the suffix from
.html to .org in order to get the source is insufficient. It won't be
obvious to many users and will only make some sense to experienced org
users. I think the link should be obvious and I think the server
configuration should be set so that accessing the .org url gives a
sensible result (i.e. prefer opening it as plain text to offering to
download).

My aim is to fix this, but I've not yet had time to even look at it. I
do have the server config file, so am able to review that and will sort
this out once time permits.

One of the changes I have started to implement is to standardise the
 and the page header/footer sections to make them
consistent across the worg site and get consistency with internal URLs
(some a relative, some are absolute), some have hard coded values, other
use site wide variables etc.

The initial aim is to make the site consistent and the build process
server independent. Ideally, anyone will be able to clone the repo, set
a document root and run the build process to create a fully working
local worg site. Little in this first stage is terribly contentious. 

Once this is done, the second stage is to work on improving the default
style and make the worg content easy to discover/browse. There is likely
to be varied opinions here and my intention will be to create a dev or
uat site where interested uses can have a look and provide
feedback/suggestions (as well as test). 

While I have made some progress, time is a little scarce at present and
I'll only have a few hours each weekend for the next few weeks to work
on this. However, I'm hoping some other commitments will scale down soon
and I'll have more time to devote to this task. It is quite rewarding,
just time consuming at present as I nail down all the moving parts!



Re: Serving .org files for worg (was: Re: Library of babel help)

2022-06-30 Thread Max Nikulin

On 30/06/2022 22:45, Max Nikulin wrote:

On 30/06/2022 16:06, Tim Cross wrote:


No, that doesn't work for me using either chrome or firefox. Chrome just
keeps switching back to the HTML url and firefox just hangs, returning
nothing.


Tim, have you checked your Downloads folder? It may be full of .org 
files you tried to download from worg. Chromium just saves files unless 
it is explicitly configured to display save dialog. Behavior of Firefox 
changed around version 100 toward this direction (and I have to tweak 
setting to restore older behavior with /tmp for files intended to be 
opened in external applications).






Serving .org files for worg (was: Re: Library of babel help)

2022-06-30 Thread Max Nikulin

On 30/06/2022 16:06, Tim Cross wrote:



Aren't they currently available? I can and I was always able to get the
org sources by changing the link from .html to .org.


No, that doesn't work for me using either chrome or firefox. Chrome just
keeps switching back to the HTML url and firefox just hangs, returning
nothing. Bastien has sent me the nginx config being used, but I've not
yet had a look at it.


It is rather strange

curl -I 'https://orgmode.org/worg/doc.org'
...
Content-Type: application/octet-stream

browsers should offer "save as" dialog in such case. It is possible to 
add Content-Disposition header to force "save" prompt, but I am unsure 
if it the best option. I would prefer some desktop-wide MIME handler, 
but there is not specific type for org. text/plain will be likely 
handled by browsers internally. Unsure if something like "text/x-org" is 
better since anyway custom configuration will be required.


Tim, did you face the problem with some particular file? Browsers might 
try to guess real MIME type from file content. If the problem is 
reproducible, you may experiment with "no sniff" header.