Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the syntax of manual.lisp #2674

Closed
aadcg opened this issue Nov 28, 2022 · 5 comments
Closed

Improve the syntax of manual.lisp #2674

aadcg opened this issue Nov 28, 2022 · 5 comments
Labels
documentation Related to manual, changelog and migration guide. low

Comments

@aadcg
Copy link
Member

aadcg commented Nov 28, 2022

Our manual.lisp is hard to maintain since it's not very "comfortable" to edit a bunch of strings.

The goal is to preserve all of the functionality, while eliminating the need to surround the actual textual content with quotes (").

One possible solution would be to change the Lisp reader. There might be others.

Excribe might be a good source of inspiration to explore a solution that tames the Lisp reader. It's basically LaTeX but with a proper language (think scribble from Racket).

I played with it for a little while, but I still need to study it properly.

Generating a file with the following contents:

(document :title "Hello World!" (p[A short doc.]))

doesn't yield a full HTML document but I haven't spent enough time studying the syntax.

EXSCRIBE> (exscribe-load-document "/path/to/test.srcbl")
<table width="100%"><tr><td align="center" bgcolor="#FFDB31"><font size="10" face="sans-serif" color="black"><b>Hello World!</b
></font
></td
></tr
></table
><p>A short doc.</p
>
T

This is not a priority. It's post 3.0.

@aartaka
Copy link
Contributor

aartaka commented Nov 28, 2022

Why is manual unmaintainable? What are the problems with it?

@Ambrevar
Copy link
Contributor

Didn't exscribe, looks nice.

Agreed with @aartaka though, there should be a strong incentive for moving doc system.
One could be translation support.

Before moving to something else, it must pass a crucial test: Can the new doc system generate documentation dynamically depending on the browser state? For instance, bindings are updated dynamically.

@aadcg
Copy link
Member Author

aadcg commented Nov 29, 2022

Why is manual unmaintainable? What are the problems with it?

The issue is that you have to write the textual content as strings. Compare writing a book in LaTeX or Org and in the way we handle our manual.

Also, in #2655, why haven't I drafted a manual section directly in manual.lisp?

@aadcg
Copy link
Member Author

aadcg commented Nov 29, 2022

Agreed with @aartaka though, there should be a strong incentive for moving doc system.
One could be translation support.

We don't have a doc system. Our manual is a regular lisp program. Excribe changes the Lisp reader so that writing a manual is sane.

Translation is one incentive. Other include being able to generate HTML, Man pages, pdf and potentially other output formats from a single document.

Before moving to something else, it must pass a crucial test: Can the new doc system generate documentation dynamically depending on the browser state? For instance, bindings are updated dynamically.

Our manual will still be a Lisp program. But with the reader set to something sane. I can't think of any reason why that wouldn't work.

Still, making this change requires time and it's not a priority right now.

@aadcg aadcg added the documentation Related to manual, changelog and migration guide. label Nov 29, 2022
@aadcg
Copy link
Member Author

aadcg commented Dec 21, 2022

After talking with @aartaka, he made me realize that moving to excribe is not a good idea. I didn't take into account that we use spinneret tags outside of manual.lisp (for instance, in describe.lisp).

I'll rewrite my top post.

@aadcg aadcg changed the title Use excribe for the documentation Improve the syntax of manual.lisp Dec 21, 2022
@aadcg aadcg added the low label Mar 23, 2023
@aadcg aadcg closed this as not planned Won't fix, can't repro, duplicate, stale Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Related to manual, changelog and migration guide. low
Development

No branches or pull requests

3 participants