123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- `((section
- (article (@ (class "basic-section-padding"))
- (p "Do you like this blog or these "
- (a (@ (href "https://video.hardlimit.com/accounts/joshua_branson/video-channels")
- (target "_blank")) "videos")
- " ? Do you dislike money? Would you care to support
- this blog and video production? Awesome! Because I have some services
- for you. Please note, that not all of these services are currently
- live. Singing up for these helps me gage interest. Each of these
- services is available in guix system, so it's just a matter of turning
- each service on.")))
- (section (@ (class "section-background"))
- (article (@ (class "basic-section-padding"))
- (h3 "Static Website Hosting")
- (p "I will host your static website on my guix
- system server (that runs this site). I'll charge $3/month. There are
- a ton of static site generators out there, you can click on these
- below to get started building your site.")
- (div (@ (class "flex"))
- (a (@ (href "https://dthompson.us/projects/haunt.html") (target "_blank"))
- (img (@ (src "./images/haunt.png"))))
- (a (@ (href "https://gohugo.io/") (target "_blank"))
- (img (@ (src "./images/hugo.png"))))
- (a (@ (href "https://jekyllrb.com/") (target "_blank"))
- (img (@ (src "./images/jekyll.png"))))
- (a (@ (href "https://orgmode.org/worg/org-web.html") (target "_blank"))
- (img (@ (src "./images/org-mode.png")))))
- (p "Status: live")
- ))
- (section
- (article (@ (class "basic-section-padding"))
- (h3 "An XMPP Account")
- (img (@ (src "./images/xmpp.png")))
- (p "I offer an XMPP account (formerly known
- as jabber) for $1/month. Once you get signed up, then you can talk to anyone with
- an XMPP account. Including the fabulous "
- (a (@ (href "https://dustycloud.org/contact/")
- (target "_blank") )
- "Christopher Lemmer Webber!")
- "You could also pair your new XMPP account with a "
- (a (@ (href "https://jmp.chat") (target "_blank"))
- "jmp.chat account. ")
- "That will make your phone bill $4/month!")
- (p "Status: Working!")))
- (section (@ (class "section-background"))
- (article (@ (class "basic-section-padding"))
- (h3 "Battle for Wesnoth Server")
- (img (@ (src "./images/wesnoth.png")))
- (p "The Battle for Wesnoth is one of the most
- popular turn based strategy game, where users attempt to control an
- ever larger region. You can play my on my Wesnoth server for
- $10/month.")
- (p "Status: not set up")))
- (section
- (article (@ (class "basic-section-padding"))
- ;;https://commons.wikimedia.org/wiki/File:Other-linux-logo.svg
- (h3 "Network File System Server")
- (img (@ (src "./images/linux.svg") (height "200px")))
- (p "NFS (network file system) to back up your files. NFS
- is puts all your file on a remote server, so you can access it from
- any computer. You can have access to 5GB of space for $5/month.")
- (p "Status: not set up")))
- (section (@ (class "section-background"))
- (article (@ (class "basic-section-padding"))
- (h3 "An Email Account")
- (p "email service. This is not a fastmail or
- gmail alternative. You will need an email client like Thunderbird or
- Claws mail. But you will not be subject to your google overlords.
- $3/month.")
- (p "Status: Working! Currently does not offer spam filtering or mail filtering.")))
- (section
- (article (@ (class "basic-section-padding"))
- (h3 "5 Email Aliases")
- (p "Email aliases let you sign up for
- various subscriptions and news items. If you alias starts to get
- over-bloated, you can always delete it. $2/month.")
- (p "Status: not set up")))
- (section (@ (class "section-background"))
- (article (@ (class "basic-section-padding"))
- (h3 "Your own Git Repository")
- (img (@ (src "./images/git.png")))
- (p "This git repository service
- won't be as pretty as others, bit it'll work. $3/month.")
- (p "Status: not set up")))
- (section
- (article (@ (class "basic-section-padding"))
- (h3 "Mumble Chat Server")
- (img (@ (src "./images/mumble.png")))
- (p "The low latency high quality voice chat server. This
- is a chat server that is popular with many gamers. If you are a gamer
- and want to set up a chat server with your friends, then perhaps this
- service is for you. $10/month.")
- (p "Status: not set up")))
- (section (@ (class "section-background"))
- (article (@ (class "basic-section-padding"))
- (h3 "Dictionary Server")
- (p "Dictionary server. $1/month.")
- (p "Status: not set up")))
- (section (@ (class "basic-section-padding"))
- (article
- (form (@ (action "/form/submit.scm") (method "post"))
- (div
- (label (@ (for "name")) "Name")
- (input (@ (id "name") (type "text") (name "name") (placeholder "Greg Jones") (required ""))))
- (div
- (label (@ (for "email")) "Email")
- (input (@ (id "email") (type "email") (name "email") (placeholder "email@example.com")
- (required ""))))
- (div
- ;; this is a honeypot. It's an hidden input, that users will leave empty, but computer programs
- ;; will put in a value.
- (label (@ (for "address") (class "hidden")) "address")
- (input (@ (id "address") (type "text") (class "hidden") (name "address"))))
- (div
- (label (@ (for "timestamp") (class "hidden")) "timestamp")
- (input (@ (id "timestamp") (type "number") (class "hidden") (name "timestamp")
- (value ,(string-append
- (number->string (car (gettimeofday)))
- " "
- (number->string (cdr (gettimeofday))))
- ))))
- (div
- (label (@ (for "phone")) "Phone")
- (input (@ (id "phone") (type "tel") (name "phone") (placeholder "224-930-0493")
- (required ""))))
- (div
- (label (@ (for "subject")) "Subject")
- (input (@ (id "subject") (type "text") (name "subject") (placeholder "Website Hosting")
- (required ""))))
- (div
- (label (@ (for "domain")) "Website")
- (input (@ (id "domain") (type "text") (name "domain") (placeholder "gregsblog.com")
- (required ""))))
- (div
- (input (@ (type "checkbox") (id "service1") (name "service1") (value "webhost")))
- (label (@ (for "service1")) "Static Site Hosting $3") (br)
- (input (@ (type "checkbox") (id "service2") (name "service2") (value "xmpp")))
- (label (@ (for "service2")) "XMPP account $1") (br)
- (input (@ (type "checkbox") (id "service3") (name "service3") (value "wesnoth")))
- (label (@ (for "service3")) "The Battle for Wesnoth Server $10") (br)
- (input (@ (type "checkbox") (id "service4") (name "service4") (value "nfs")))
- (label (@ (for "service4")) "NFS $5") (br)
- (input (@ (type "checkbox") (id "service5") (name "service5") (value "email")))
- (label (@ (for "service5")) "Email Account $3") (br)
- (input (@ (type "checkbox") (id "service6") (name "service6") (value "email-alias")))
- (label (@ (for "service6")) "5 Email Aliases $2") (br)
- (input (@ (type "checkbox") (id "service7") (name "service7") (value "git")))
- (label (@ (for "service7")) "Git Hosting $3") (br)
- (input (@ (type "checkbox") (id "service8") (name "service8") (value "mumble")))
- (label (@ (for "service8")) "Mumble Server $10") (br)
- (input (@ (type "checkbox") (id "service9") (name "service9") (value "dict")))
- (label (@ (for "service9")) "dictionary service $1") (br))
- (div
- (label (@ (for "message")) "Message")
- (textarea (@ (id "message") (name "message") (cols "26") (rows "6")
- (placeholder "I like your services!
- Plz donate 10% of your profits to guix or Wesnoth.")
- (required ""))
- ;;necessary to properly close <textarea></textarea> tag.
- ()))
- (div
- (br) (br) (br)
- (label "Total: " (span (@ (id "total")) ""))
- (br) (br) (br)
- (button (@ (type "submit")) "Submit")))))
- (br) (br))
|