Skip to content

Commit

Permalink
demo adapted to webly v2
Browse files Browse the repository at this point in the history
  • Loading branch information
awb99 committed Apr 22, 2024
1 parent 8569774 commit c864e13
Show file tree
Hide file tree
Showing 48 changed files with 209 additions and 17,974 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Prepare java
uses: actions/setup-java@v2
with:
distribution: 'zulu' # https://github.com/actions/setup-java/blob/main/README.md#Supported-distributions
java-version: '14'
java-package: jdk # optional (jdk or jre) - defaults to jdk
- name: Install clojure tools
uses: DeLaGuardo/[email protected]
with:
cli: 1.10.3.1029 # Clojure CLI based on tools.deps
- name: build gh-pages
if: success()
run: |
clojure -X:webly:static
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: "target/static"
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
32 changes: 19 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
# demo - goldly
# demo

## demo running goldly-docs

First, clone this repo. Then run: `clojure -X:docs`
After starting, open web-browser on port 8080.

We demonstrate certain features of goldly:
The demo app has this features:
- bmi: complex ui interaction
- fortune cookies: demonstrates how to load data from clojure (could be a database)
- time: demonstrates to push data from clojure
- iss: international space stations current position

To re-evaluate all notebooks run: `clojure -X:nbeval`

## demo running goldly-docs

First, clone this repo. Then run:
```
clojure -X:nb-eval
clojure -X:webly:run
```
After starting, open web-browser on port 8080.

## github pages

The demo is also on [Github Pages](https://pink-gorilla.github.io/demo/)


## demo with custom dynamic cljs build

You only need to build a custom cljs build:
- if you want to use ui-components that are not included in goldly-docs.
- if you want you want to compile your own clojurescript code.
(this could be relevant if you need say core.async which is not available in
sci interpreted clojurescript)

For this demo, it is not neccesary to build cljs. But lets do it for fun anyhow.

The following commands will build a js bundel:

```
clojure -X:docs:build :profile '"npm-install"'
clojure -X:docs:build :profile '"compile2"'
clojure -X:docs
clojure -X:webly:npm-install
clojure -X:webly:compile
clojure -X:webly:run
```
42 changes: 25 additions & 17 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,33 @@
"target/webly" ; in case we build ourselves.
]
:deps {org.clojure/clojure {:mvn/version "1.11.1"}
org.pinkgorilla/goldly-docs {:mvn/version "0.4.627"}}
org.pinkgorilla/timbre {:mvn/version "0.0.6"}
org.pinkgorilla/goldly-docs {:mvn/version "0.7.19"}}

:aliases
{:docs ; RUN SERVICES (keep running)
{:extra-paths ["target/webly" ; to include the sci-bindings info
"node_modules"
"demo"]
:exec-fn modular.system/start!
:exec-args {:profile "jetty"
:services "goldly/services.edn"
:config ["webly/config.edn" "goldly/config.edn" "goldly/docs-config.edn"
"demo.edn"]}}

:build ; BUILD BUNDLE (then exit)
{:exec-fn goldly.app.build/goldly-build
:exec-args {:profile "npm-install"}}
{:webly {:extra-deps {org.pinkgorilla/ui-repl {:mvn/version "0.1.104"}}
:extra-paths ["src" "resources"
"target/webly" ; to include the sci-bindings info
"node_modules"]
:exec-fn webly.app.app/webly-build
:exec-args {:config ["docs/docs-config.edn"
"demo-config.edn"]
:profile "npm-install"}}

:nbeval ; eval namespaces and create notebook edn files
{:exec-fn reval.task/nbeval
:exec-args {:config "demo.edn"}}
:npm-install {:exec-args {:profile "npm-install"}}
:compile {:exec-args {:profile "compile2"}}
:release {:exec-args {:profile "release"}}
:release-adv {:exec-args {:profile "release-adv"}}
:static {:exec-args {:profile "static"}}
:ci {:exec-args {:profile "ci"}}
:run {:exec-fn modular.system/start!
:exec-args {:profile "jetty"
:services "demo-services.edn"}}


:nbeval {:exec-fn modular.system/start!
:exec-args {:run reval.task/eval-all-collections
:config ["demo-config.edn"]
:services "task-services.edn"}}
;
}}
Loading

0 comments on commit c864e13

Please sign in to comment.