unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Proposal: Include css for docs in emacs repo
@ 2024-12-03  3:32 Daniel Radetsky
  2024-12-03 13:02 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Radetsky @ 2024-12-03  3:32 UTC (permalink / raw)
  To: emacs-devel

I would like to build the emacs manuals for local use. This
means the one-page-per-node manuals. Ideally, I'd like to
build them with one command, and generate a self-contained
directory I could chuck somewhere (e.g. under my designated
serve-docs-from-local dir) and be able to browse them just
like I can on the gnu site.

Even if the docs build itself didn't currently leave
something to be desired, the built docs will contain the
following

<style type="text/css">
@import url('/software/emacs/manual.css');
</style>

Which refers to css not included in the repo itself. I'm not
sure if it's included in any repo. Personally, I just
downloaded the file (and the style.css file it referenced)
off of gnu.org. It would be nice if instead, these 2 files
were placed in a manual-assets/ dir alongside emacs/ elisp/
and friends, and if the manuals were to reference the
manual.css file contained in this dir with a relative path,
rather than the one at /software/emacs/manual.css.

There's no reason why gnu.org couldn't override this file
somehow, such that e.g. all manuals served from gnu.org
would continue to use /software/emacs/style.css instead of
the relative one, although I can't see why you'd want to.
But you could.

Anyway, I could concievably hack on the manual-generating
scripts myself (especially if the release-process docs were
a little clearer), but it won't actually accomplish my
purpose if we haven't moved the css to the emacs repo.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Proposal: Include css for docs in emacs repo
  2024-12-03  3:32 Proposal: Include css for docs in emacs repo Daniel Radetsky
@ 2024-12-03 13:02 ` Eli Zaretskii
  2024-12-04  0:25   ` Daniel Radetsky
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2024-12-03 13:02 UTC (permalink / raw)
  To: Daniel Radetsky; +Cc: emacs-devel

> Date: Mon, 2 Dec 2024 19:32:39 -0800
> From: Daniel Radetsky <dradetsky@gmail.com>
> 
> I would like to build the emacs manuals for local use. This
> means the one-page-per-node manuals. Ideally, I'd like to
> build them with one command, and generate a self-contained
> directory I could chuck somewhere (e.g. under my designated
> serve-docs-from-local dir) and be able to browse them just
> like I can on the gnu site.
> 
> Even if the docs build itself didn't currently leave
> something to be desired, the built docs will contain the
> following
> 
> <style type="text/css">
> @import url('/software/emacs/manual.css');
> </style>

How do you get this?  Is that by running the scripts in the admin/
directory, like make-manuals?  Those scripts are for generating
manuals we upload to the GNU Software Documentation site, they are not
for users to generate HTML docs.  For the latter purpose, you are
supposed to say

  $ cd doc/emacs && make emacs.html HTML_OPTS='--html --split=node'

> Which refers to css not included in the repo itself. I'm not
> sure if it's included in any repo.

It is part of the Emacs "webpages" repository, which you can browse
here:

  http://web.cvs.savannah.gnu.org/viewvc/emacs/emacs/

> Personally, I just
> downloaded the file (and the style.css file it referenced)
> off of gnu.org. It would be nice if instead, these 2 files
> were placed in a manual-assets/ dir alongside emacs/ elisp/
> and friends, and if the manuals were to reference the
> manual.css file contained in this dir with a relative path,
> rather than the one at /software/emacs/manual.css.

I don't see a need to include this in the Emacs Git repository.  The
stuff related to the Web documentation is maintained in a separate
repository for a reason.

> Anyway, I could concievably hack on the manual-generating
> scripts myself (especially if the release-process docs were
> a little clearer), but it won't actually accomplish my
> purpose if we haven't moved the css to the emacs repo.

The way these scripts are used is described in admin/make-tarball.txt.
You will see there that the produced HTML manuals are moved to the
separate webpages repository and sent upstream from there; the file
manual.css is part of that repository.  So there's no need to mix this
with the Emacs sources, because Emacs users are not supposed to
produce manuals in the format used for the GNU Documentation web site.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Proposal: Include css for docs in emacs repo
  2024-12-03 13:02 ` Eli Zaretskii
@ 2024-12-04  0:25   ` Daniel Radetsky
  2024-12-04 12:51     ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Radetsky @ 2024-12-04  0:25 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On Tue, Dec 03, 2024 at 03:02:30PM +0200, Eli Zaretskii wrote:
> How do you get this?  Is that by running the scripts in the admin/
> directory, like make-manuals?

Yes, that's what I did.

> For the latter purpose, you are supposed to say
>
>   $ cd doc/emacs && make emacs.html HTML_OPTS='--html --split=node'

Thanks, although I didn't realize that. I spent some time
looking around for how to do it, but didn't figure it out.
Does that mean I'm not very smart, or that the process is
not very intuitive, or some combination of both? Hard to
say.

> I don't see a need to include this in the Emacs Git repository.  The
> stuff related to the Web documentation is maintained in a separate
> repository for a reason.

I'm not sure I'd call it a "need" but the reason is that so
that as a user, I can build the html docs for personal use
without having to do weird stuff like manually downloading
the css from gnu.org. Also, as somebody who is working on
the docs, it's desirable to be able to build the docs
exactly as they would appear to a user on gnu.org.
Otherwise, I'll end up doing some kind of
works-on-my-machine hack to get the css into my local build,
and then the docs go up for regular users and look
incorrect.

> The way these scripts are used is described in admin/make-tarball.txt.
> You will see there that the produced HTML manuals are moved to the
> separate webpages repository and sent upstream from there; the file
> manual.css is part of that repository.  So there's no need to mix this
> with the Emacs sources, because Emacs users are not supposed to
> produce manuals in the format used for the GNU Documentation web site.

Sure, but some emacs users don't play by your rules, maaaaan
[takes a hit of joint].

I suppose it would work to just download style.css from the
repo when I wanted to make a user-type (as opposed to
admin-type) html docs build. We could also include a custom
version of manual.css (but not style.css) for this use
intended to just point to a relative path. rather than an
absolute path. Would some version of this be acceptable?

--dmr



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Proposal: Include css for docs in emacs repo
  2024-12-04  0:25   ` Daniel Radetsky
@ 2024-12-04 12:51     ` Eli Zaretskii
  0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2024-12-04 12:51 UTC (permalink / raw)
  To: Daniel Radetsky; +Cc: emacs-devel

> Date: Tue, 3 Dec 2024 16:25:28 -0800
> From: Daniel Radetsky <dradetsky@gmail.com>
> Cc: emacs-devel@gnu.org
> 
> On Tue, Dec 03, 2024 at 03:02:30PM +0200, Eli Zaretskii wrote:
> > How do you get this?  Is that by running the scripts in the admin/
> > directory, like make-manuals?
> 
> Yes, that's what I did.
> 
> > For the latter purpose, you are supposed to say
> >
> >   $ cd doc/emacs && make emacs.html HTML_OPTS='--html --split=node'
> 
> Thanks, although I didn't realize that. I spent some time
> looking around for how to do it, but didn't figure it out.
> Does that mean I'm not very smart, or that the process is
> not very intuitive, or some combination of both? Hard to
> say.

Which part(s) are missing?  The makeinfo option to produce HTML split
by node is documented in the Texinfo manual (where makeinfo is
documented), and the rest you can find by looking at
doc/emacs/Makefile in the source tree, like any other Make target that
isn't run as part of the standard build.

> > I don't see a need to include this in the Emacs Git repository.  The
> > stuff related to the Web documentation is maintained in a separate
> > repository for a reason.
> 
> I'm not sure I'd call it a "need" but the reason is that so
> that as a user, I can build the html docs for personal use
> without having to do weird stuff like manually downloading
> the css from gnu.org.

See above: users are not supposed to build the HTML versions of the
manuals this way, and thus don't need to run these scripts or use that
file.  That's why the scripts are in the admin directory and not in
the doc directory.  You don't need that file unless you run the
scripts in admin to produce the manuals in the form we upload them to
the GNU Documentation site.

> Also, as somebody who is working on
> the docs, it's desirable to be able to build the docs
> exactly as they would appear to a user on gnu.org.

No, because the manuals produced for the GNU Documentation site have
specific requirements which are not relevant to users who want to
produce the HTML docs locally.  The main reason for using that CSS
file is to make sure the produced manuals match the general
look-and-feel of the other GNU manuals on the GNU site, and fit well
into the menu structure of that site.  These requirements are not
relevant to users, and IMO are a big PITA, but we must comply to them
when we upload manuals to the GNU site.

> > The way these scripts are used is described in admin/make-tarball.txt.
> > You will see there that the produced HTML manuals are moved to the
> > separate webpages repository and sent upstream from there; the file
> > manual.css is part of that repository.  So there's no need to mix this
> > with the Emacs sources, because Emacs users are not supposed to
> > produce manuals in the format used for the GNU Documentation web site.
> 
> Sure, but some emacs users don't play by your rules, maaaaan
> [takes a hit of joint].

That's fine, but you cannot expect the Emacs maintainers to bear the
additional burden of what you want to do locally for your personal
needs that are not supported by the project for users in general.
I've told you where this file is stored, so you can in the future
download it from that repository, and do whatever you want.

> I suppose it would work to just download style.css from the
> repo when I wanted to make a user-type (as opposed to
> admin-type) html docs build. We could also include a custom
> version of manual.css (but not style.css) for this use
> intended to just point to a relative path. rather than an
> absolute path. Would some version of this be acceptable?

Sorry, no.  Producing the manuals in the format for that site is an
annoying job, it takes quite some time, produces several versions of
the manuals, is prone to errors (in particular, the code in admin.el
edits the resulting HTML, and might fail spectacularly if one happens
to use a version of Texinfo not close enough to the one for which the
scripts were prepared), and is quite tedious.  I object to asking us
to keep this stuff in good enough order for general user audience just
because you want for some reason to use them for your local HTML
manuals, something that is not what we recommend doing in those cases.
The CSS file itself is not the problem, but it is the tip of a very
large iceberg, in particular because the files are kept in a separate
repository under a different VCS, and cross-linking these two
repositories is not really a good idea, and neither is duplicating the
file.

Sorry.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-12-04 12:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-03  3:32 Proposal: Include css for docs in emacs repo Daniel Radetsky
2024-12-03 13:02 ` Eli Zaretskii
2024-12-04  0:25   ` Daniel Radetsky
2024-12-04 12:51     ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).