finish on the website updates for now
This commit is contained in:
parent
b7d9d92ae7
commit
322b6f200d
1
TODO
1
TODO
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
What will make this library nice and complete:
|
What will make this library nice and complete:
|
||||||
List of all the SQL that it doesn't support
|
List of all the SQL that it doesn't support
|
||||||
annotation, with positions coming from the parser
|
annotation, with positions coming from the parser
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
Converts the test data to markdown
|
Converts the test data to asciidoc
|
||||||
|
|
||||||
> import Language.SQL.SimpleSQL.Tests
|
> import Language.SQL.SimpleSQL.Tests
|
||||||
> import Text.Show.Pretty
|
> import Text.Show.Pretty
|
||||||
|
@ -46,17 +46,32 @@ TODO: should put the dialect in the html output
|
||||||
> render = go False
|
> render = go False
|
||||||
> where
|
> where
|
||||||
> go t (Heading level title : is) = do
|
> go t (Heading level title : is) = do
|
||||||
> when t $ putStrLn "</table>"
|
> when t $ putStrLn "|==="
|
||||||
> putStrLn $ replicate level '#' ++ " " ++ title
|
> -- slight hack
|
||||||
|
> when (level > 1) $
|
||||||
|
> putStrLn $ "\n" ++ replicate level '=' ++ " " ++ title
|
||||||
> go False is
|
> go False is
|
||||||
> go t (Row sql hask : is) = do
|
> go t (Row sql hask : is) = do
|
||||||
> unless t $ putStrLn "<table>"
|
> unless t $ putStrLn "[cols=\"2\"]\n|==="
|
||||||
> let sql' = "\n~~~~{.sql}\n" ++ sql ++ "\n~~~~\n"
|
> let sql' = "\n[source,sql]\n----\n" ++ sql ++ "\n----\n"
|
||||||
> hask' = "\n~~~~{.haskell}\n" ++ hask ++ "\n~~~~\n"
|
> hask' = "\n[source,haskell]\n----\n" ++ hask ++ "\n----\n"
|
||||||
> putStrLn $ "<tr><td>" ++ sql'
|
> putStrLn $ "a| " ++ escapePipe sql'
|
||||||
> ++ "</td><td>" ++ hask' ++ "</td></tr>"
|
> ++ "a| " ++ escapePipe hask' ++ " "
|
||||||
> go True is
|
> go True is
|
||||||
> go t [] = when t $ putStrLn "</table>"
|
> go t [] = when t $ putStrLn "|==="
|
||||||
|
> escapePipe [] = []
|
||||||
|
> escapePipe ('\\':'|':xs) = '\\' : '\\' : '\\' : '|' : escapePipe xs
|
||||||
|
> escapePipe ('|':xs) = '\\' : '|' : escapePipe xs
|
||||||
|
> escapePipe (x:xs) = x : escapePipe xs
|
||||||
|
|
||||||
> main :: IO ()
|
> main :: IO ()
|
||||||
> main = render $ doc 1 testData
|
> main = do
|
||||||
|
> putStrLn "\n:toc:\n\
|
||||||
|
> \:toc-placement: macro\n\
|
||||||
|
> \:sectnums:\n\
|
||||||
|
> \:toclevels: 10\n\
|
||||||
|
> \:sectnumlevels: 10\n\
|
||||||
|
> \:source-highlighter: pygments\n\n\
|
||||||
|
> \= simple-sql-parser examples/test cases\n\n\
|
||||||
|
> \toc::[]\n"
|
||||||
|
> render $ doc 1 testData
|
||||||
|
|
|
@ -252,7 +252,7 @@ fetch first 100 rows only;
|
||||||
* Session management
|
* Session management
|
||||||
** TODO
|
** TODO
|
||||||
|
|
||||||
See the link:supported_sql.html page for details on
|
See the link:supported_sql.html[] page for details on
|
||||||
the supported SQL.
|
the supported SQL.
|
||||||
|
|
||||||
Here is a document with all the link:test_cases.html[simple-sql-parser
|
Here is a document with all the link:test_cases.html[simple-sql-parser
|
||||||
|
|
|
@ -21,9 +21,18 @@ asciidoctor website/supported_sql.asciidoc -o build/supported_sql.html
|
||||||
# tpch sql file
|
# tpch sql file
|
||||||
# pandoc src/tpch.sql -s --highlight-style kate -o tpch.sql.html
|
# pandoc src/tpch.sql -s --highlight-style kate -o tpch.sql.html
|
||||||
# rendered test cases
|
# rendered test cases
|
||||||
runhaskell -package-db=.cabal-sandbox/x86_64-linux-ghc-7.10.2-packages.conf.d -i:tools website/RenderTestCases.lhs > build/test_cases.txt
|
runhaskell -package-db=.cabal-sandbox/x86_64-linux-ghc-7.10.2-packages.conf.d -i:tools website/RenderTestCases.lhs > build/test_cases.asciidoc
|
||||||
pandoc --from=markdown --to=html build/test_cases.txt -o build/test_cases.html -c main.css '--title=simple-sql-parser examples/test cases' --toc
|
|
||||||
rm build/test_cases.txt
|
#pandoc --from=markdown --to=html build/test_cases.asciidoc -o build/test_cases.html -c main.css '--title=simple-sql-parser examples/test cases' --toc
|
||||||
|
asciidoctor build/test_cases.asciidoc -o - | \
|
||||||
|
sed -e "s/max-width:62\.5em//g" \
|
||||||
|
> build/test_cases.html
|
||||||
|
# TODO: reduce the text size on the test cases page
|
||||||
|
# TODO: use scrollbars inside the tables
|
||||||
|
# TODO: make the tables autowidth
|
||||||
|
# -e "s/(code.*)font-size:1em/\1font-size:0.8em/g"
|
||||||
|
|
||||||
|
rm build/test_cases.asciidoc
|
||||||
# haddock
|
# haddock
|
||||||
cabal haddock
|
cabal haddock
|
||||||
rm -Rf build/haddock
|
rm -Rf build/haddock
|
||||||
|
|
|
@ -26,12 +26,6 @@ prohibit everything that the standard doesn't allow.
|
||||||
Apart from this permissiveness, some work has been put into trying to
|
Apart from this permissiveness, some work has been put into trying to
|
||||||
get the best parser error messages possible.
|
get the best parser error messages possible.
|
||||||
|
|
||||||
Although the parser and syntax support some character set constructs,
|
|
||||||
any source is always parsed in the default system encoding which
|
|
||||||
Haskell uses, and any encoding/decoding is left to the system. I think
|
|
||||||
this effectively means that you will usually be using utf-8 character
|
|
||||||
set for the sql source.
|
|
||||||
|
|
||||||
== Queries
|
== Queries
|
||||||
|
|
||||||
=== Select lists
|
=== Select lists
|
||||||
|
|
Loading…
Reference in a new issue