Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/partiql/partiql-spec
The language specification of PartiQL.
https://github.com/partiql/partiql-spec
Last synced: 3 months ago
JSON representation
The language specification of PartiQL.
- Host: GitHub
- URL: https://github.com/partiql/partiql-spec
- Owner: partiql
- License: other
- Archived: true
- Created: 2019-05-13T18:28:37.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-11-27T18:12:11.000Z (12 months ago)
- Last Synced: 2024-06-15T17:38:18.631Z (5 months ago)
- Language: Ruby
- Size: 217 KB
- Stars: 150
- Watchers: 22
- Forks: 12
- Open Issues: 2
-
Metadata Files:
- Readme: README.adoc
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-repositories - partiql/partiql-spec - The language specification of PartiQL. (Ruby)
README
= PartiQL Language Specification
*NOTE*: This repository's contents have been transferred to the link:https://github.com/partiql/partiql-lang/[partiql-lang] repository.
This is the link:https://asciidoc.org/[AsciiDoc] source for the link:https://partiql.org/[PartiQL] specification.
== Editing
AsciiDoc is supported by link:https://docs.asciidoctor.org/asciidoctor/latest/tooling[major repository hosting providers and many IDEs].
== How to Build the Spec
=== Docker
The easiest way to build the specification is to use the `Dockerfile` to build an image that you can use to containerize
the build. This can be done as follows assuming you have `docker` in your path:[source, shell]
```
./build-docker.sh
```The above command will build the specification and is a short-hand for building the image, and running
`bundle exec rake` inside of it. Cleanup and other targets are available:[source, shell]
```
# the default target builds an optimized PDF/HTML to ./build
./build-docker.sh spec:build# build, watch the sources, and re-build on changes
./build-docker.sh spec:watch# clean the build
./build-docker.sh spec:clean```
==== Potential Issues
If you run the instructions for non-Docker building and run into this message or something like it:
[source, shell]
```
rbenv: version `3.1.2' is not installed (set by /workspace/.ruby-version)
```The Docker version of the build does not use local environment versions for `rbenv` because it is not portable and the container controls the "global" Ruby installation so you can work around this by removing the `.ruby-version` file.
=== Pre-requisites
1. Install link:https://github.com/rbenv/rbenv#installation[rbenv]
+
[source, shell]
.terminal
```
brew install rbenv
rbenv init
```2. Install the latest version of ruby
+
[source, shell]
.terminal
```
rbenv install $(rbenv install -l | grep -v - | tail -1)
```3. Install rbenv shell integration (replace .zshrc with .bash_profile if you use bash)
+
[source,shell]
.terminal
```
echo "\n# rbenv integration" >> ~/.zshrc
echo "eval \"\$(rbenv init -)\"" >> ~/.zshrc
source ~/.zshrc
```4. Install Vollkorn & Iosevka fonts (Open Font License)
+
[source,shell]
.terminal
```
mkdir fonts
curl -L -o fonts/vollkorn.zip http://vollkorn-typeface.com/download/vollkorn-4-105.zip
unzip fonts/vollkorn.zip -d fonts/vollkorn
curl -L -o fonts/iosevka.zip https://github.com/be5invis/Iosevka/releases/download/v16.0.2/ttf-iosevka-term-slab-16.0.2.zip
unzip fonts/iosevka.zip -d fonts/iosevka```
5. Install fonts and such needed by AsciiMath
+
[source,shell]
.terminal
```
brew tap homebrew/cask-fonts
brew install glib gdk-pixbuf cairo pango cmake font-computer-moderncd ~/Library/Fonts
curl -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmex10.ttf \
-LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmmi10.ttf \
-LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmr10.ttf \
-LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmsy10.ttf \
-LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/esint10.ttf \
-LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/eufm10.ttf \
-LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/msam10.ttf \
-LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/msbm10.ttf```
=== Setup
Set the spec to use the latest ruby, and install required gems
[source, shell]
.terminal
```
cd
rbenv local $(rbenv install -l | grep -v - | tail -1)
bundle install
```=== Building
Output will be built to
- build/PartiQL-Specification.html
- build/PartiQL-Specification.pdfTo watch sources for changes and auto-rebuild `HTML` and quick `PDF`
[sourc,shell]
.terminal
```
bundle exec rake spec:watch
```To build `HTML` and optimized `PDF`
[sourc,shell]
.terminal
```
bundle exec rake
```= License
This library is licensed under the link:LICENSE[PartiQL Specification License].