On Sat, Jul 19, 2025 at 01:52:11PM +0100, Martin Baker wrote:
> On 18/07/2025 16:52, Waldek Hebisch wrote:
> > You are confused. FRICASsys is main FriCAS process, it runs when you
> > run FriCAS. API pages are generated when you do 'make doc' or
> > 'make localdoc', that is they are generated as part of build process,
> > and then used as fit, either put on a web site or accessed
> > locally. Anyway, API pages are generated by FRICASsys, but intent
> > is to do this once. HyperDoc generates pages on the fly allowing
> > more complex interaction. At least now my intent is to support
> > only local use: current HyperDoc protocol allows triggering
> > arbitrary computations from a request. Before allowing access
> > from the net it would have to be reworked quite a lot to limit
> > it only to allowed actions.
>
> Thank you, that makes it clearer, I find it hard to understand the top level
> information flow without a diagram so this is my attempt:
>
> Existing Code
> -------------
> build process such as make doc
> library ---> database ----> .rst ---> Sphinx ---> HTML
> source tables files (static web pages)
> code |
> v
> HyperDoc -----boot
> started by code
> C code ^
> |
> .ht
> file
That is reasonably good approximation. Note however that HyperDoc
directly accesses .ht files, Boot code just provides links. Also,
beside .ht file there are .pht files (basicaly results of example commands)
and viewport (example graphic).
Depending on need you may wish to add extra info. For example,
HTML above references Javascript which provides search (Sphinx generates
largish Javascript table (index) which is searched by general Javascript
search routine). .rst files do not appear by magic, there is Spad code
(api.spad in doc subdirectory) which generates them.
> Planned Code
> -------------
> build process such as make doc
> library ---> database
> source tables
> code | |
> SPAD +----------<-----------+ can javascript
> code | call SPAD code?
In fact, for this part diagram should be very similar to diagram for
current code, only Sphinx stage is missing, and Spad code instead of
generating .rst goes directly to HTML. The difference is that Spad
code should differ and Javascript should differ (current Javascript
is generic one provided by Sphinx, I plan custom one tailored to our
needs).
> v |
> browser -----HTML ---- > Javascript --> SPAD
> started by files code
> user |
> server for
> more complex
> requests
If you want to write it like diagram for current code it
would be better to draw this part like:
> v
> Web browser -----Spad
> code
> ^
> |
> maybe .ht
> file
I wrote 'maybe' as translating general .ht files to HTML is a
separate effort. Note that HyperDoc can directly read .ht
files, if we want to present them in web browser we need a
translation stage.
--
Waldek Hebisch
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/fricas-devel/aHuyUfOS6tDWKOxL%40fricas.org.