Plaster
New
List
Login
text
apl
aspx
asterisk
brainfuck
c
c++hdr
c++src
cassandra
ceylon
clojure
clojurescript
cmake
cobol
coffeescript
common-lisp
crystal
csharp
css
cypher-query
cython
d
dart
diff
django
dockerfile
dylan
ebnf
ecl
ecmascript
edn
eiffel
ejs
elm
erb
erlang
ez80
factor
fcl
feature
forth
fortran
fragment
gfm
go
gql
groovy
gss
haml
handlebars-template
haskell
haxe
hive
html
http
httpd-php
httpd-php-open
hxml
ini
java
javascript
json
jsp
jsx
julia
kotlin
latex
less
literate-haskell
lua
mariadb
markdown
mbox
mirc
mscgen
msgenny
mssql
mumps
mysql
n-triples
nesc
nginx-conf
nsis
objectivec
octave
oz
pascal
perl
pgp
pgp-keys
pgp-signature
pgsql
php
pig
plsql
properties
protobuf
puppet
python
q
rpm-changes
rpm-spec
rsrc
ruby
rustsrc
sas
sass
scala
scheme
scss
sieve
slim
smarty
solr
soy
sparql-query
spreadsheet
sql
squirrel
stex
styl
swift
systemverilog
tcl
textile
tiddlywiki
tiki
tlv
tornado
ttcn-asn
ttcn-cfg
turtle
twig
typescript
typescript-jsx
vb
vbscript
velocity
verilog
vertex
vhdl
vue
webidl
xml
xml-dtd
xquery
xu
yaml
z80
default
Visibility:
public
unlisted
private
;;; Recipe html post creator with jsonld ;; Json string (defparameter *json* (make-array 0 :adjustable t :fill-pointer t :element-type 'character )) ;; Definition of json function (we should be using a library) (defun json ( n v &optional ( tab 3 )) (format *json* ",~%~vt\"~a\":\"~a\"" tab n v) ) ;; Creation of body, head and meta fill-pointer strings (defparameter *body* (make-array 0 :adjustable t :fill-pointer t :element-type 'character )) (defparameter *html* (make-array 0 :adjustable t :fill-pointer t :element-type 'character )) (defparameter *meta* (make-array 0 :adjustable t :fill-pointer t :element-type 'character )) ;; Initialize html and json (format *html* "<!DOCUMENT html>~%") (format *html* "<html>~%") (format *html* "~3t<head>~%") (format *json* "{~%") (format *json* "~3t\"@context\": \"https://schema.org/\"") (json "@type" "Recipe") ;; Start asking info (format t "~%~%~%I'll ask for several info, and wait an answer for every question~%") (format t "To skip the question, press enter. Note the question won't be made again~%~%") (format *query-io* "Name of the recipe~3t") (force-output *query-io*) (let ((name (read-line))) (format *meta* "~6t<title>~a</title>~%" name) (format *body* "~6t<h1>~a</h1>~%" name) (json "name" name) ) ;; Render info (format *json* "~%}~%") (format *html* "~a" *meta*) (format *html* "~%~3t</head>~%") (format *html* "~3t<body>~%") (format *html* "~a" *body*) (format *html* "<script type=\"application/ld+json\">~%") (format *html* "~a" *json*) (format *html* "<script>~%") (format *html* "~3t</body>~%") (format *html* "</html>~%") (format t "~a" *html*)