Better display of the explanations.

This commit is contained in:
Philippe PITTOLI 2024-04-11 09:37:37 +02:00
parent af4dca3a50
commit 9039c43ab9

View File

@ -2,6 +2,8 @@ module App.Text.Explanations where
import Halogen.HTML as HH
import Bulma as Bulma
expl' :: forall w i. String -> HH.HTML w i
expl' text = expl [Bulma.p text]
expl :: forall w i. Array (HH.HTML w i) -> HH.HTML w i
expl content = Bulma.div_content [ Bulma.explanation content ]
expl_txt :: forall w i. String -> HH.HTML w i
@ -13,10 +15,9 @@ col arr = Bulma.column_ [ Bulma.box arr ]
tokens :: forall w i. HH.HTML w i
tokens = HH.div_
[ Bulma.h3 "What are tokens?"
, expl [ Bulma.p """
, expl' """
Tokens are a simple way to update a resource record (A or AAAA) with your current IP address.
"""
]
, HH.p_ [ HH.text "Let's take an example: you have an A record (IPv4) pointing to your web server at home, "
, HH.text "but your ISP changes your IP address from time to time. "
, HH.text "You can ask for a token (which looks like "
@ -64,25 +65,31 @@ basics = HH.div_
, Bulma.hr
, Bulma.h3 "I have something to host."
, expl [ Bulma.p """
Let's assume you have a web server, you host your website somewhere.
"""
]
, expl' "Let's assume you have a web server, you host your website somewhere (A and AAAA records)."
, Bulma.p """
You want an A (IPv4) or AAAA (IPv6) record pointing to your server, named "www" for example.
If you have other servers, just add A or AAAA records.
You want an A (IPv4) or AAAA (IPv6) record pointing to your server, named "enigma" for example.
"""
, expl' "You need other names pointing to your server (CNAME records)."
, Bulma.p """
In case you want other names than "www" to point to your server, you can use CNAME records (these are aliases).
You may not want to use the name of your server "enigma" directly.
Instead, you want the usual names for your services, such as "www" or "blog".
CNAME records are basically aliases, exactly to that end.
"""
, expl' "If you have other servers, just add more A or AAAA records."
, Bulma.p """
Tip: choose relevant names for your servers then add CNAME records.
For example, you can have an A record named "server1" and a CNAME "www" pointing to it.
The service isn't pointing to an actual IP address directly,
but to the name of the physical server providing the service.
You don't need to remember the IP address of each of your servers.
"""
, Bulma.hr
, Bulma.h3 "I want an email server."
, expl [ Bulma.p """
, expl' """
Hosting a mail server is quite complex.
Let's see to the main parts regarding the DNS.
This page will focus on the main parts regarding the DNS.
"""
]
, Bulma.notification_danger' """
The actual configuration of your mail server is complex and depends on your choice of software.
This won't be covered here.
@ -96,19 +103,17 @@ basics = HH.div_
"""
, Bulma.columns_
[ col
[ expl [ Bulma.p """
Spam mitigation 1: tell what are the right mail servers for your domain with Sender Policy Framework (SPF).
"""
]
[ expl' """
Spam mitigation 1: tell what are the right mail servers for your domain with Sender Policy Framework (SPF).
"""
, expl_txt """
You need a SPF record to tell other mail servers what are the acceptable mail servers for your domain.
"""
]
, col
[ expl [ Bulma.p """
Spam mitigation 2: prove the mails come from your mail server with DomainKeys Identified Mail (DKIM).
"""
]
[ expl' """
Spam mitigation 2: prove the mails come from your mail server with DomainKeys Identified Mail (DKIM).
"""
, expl_txt """
You'll have to configure your mail server to sign the emails you send.
This involves creating a pair of keys (public and private).
@ -118,10 +123,9 @@ basics = HH.div_
"""
]
, col
[ expl [ Bulma.p """
Spam mitigation 3: Domain-based Message Authentication Reporting and Conformance (DMARC).
"""
]
[ expl' """
Spam mitigation 3: Domain-based Message Authentication Reporting and Conformance (DMARC).
"""
, expl_txt """
Last but not least, DMARC.
"""