All Projects → practicalli → practicalli.github.io

practicalli / practicalli.github.io

Licence: other
Landing Page for Practicalli for broadcasts, books and guides on Clojure, ClojureScript, Emacs, Spacemacs and more. Developed with ClojureScript and reagent, using figwheel.main

Programming Languages

clojure
4091 projects
HTML
75241 projects

Projects that are alternatives of or similar to practicalli.github.io

Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (+4733.33%)
Mutual labels:  spacemacs
Srcery Emacs
Dark colorscheme for Emacs/Spacemacs. GUI and terminal support
Stars: ✭ 102 (+580%)
Mutual labels:  spacemacs
Space Vim
🍀 Lean & mean spacemacs-ish Vim distribution
Stars: ✭ 2,785 (+18466.67%)
Mutual labels:  spacemacs
Homebrew Emacs Plus
Emacs Plus formulae for the Homebrew package manager
Stars: ✭ 965 (+6333.33%)
Mutual labels:  spacemacs
Dumb Jump
an Emacs "jump to definition" package for 50+ languages
Stars: ✭ 1,256 (+8273.33%)
Mutual labels:  spacemacs
Ac Php
emacs auto-complete & company-mode for php
Stars: ✭ 157 (+946.67%)
Mutual labels:  spacemacs
Evervim
A Modern, Powerful & Modular Vim Distribution
Stars: ✭ 568 (+3686.67%)
Mutual labels:  spacemacs
spacemacs.d
rich Clojure & LSP config for Spacemacs
Stars: ✭ 102 (+580%)
Mutual labels:  spacemacs
Rebecca Theme
The purple turtle theme for Spacemacs
Stars: ✭ 93 (+520%)
Mutual labels:  spacemacs
Git Link
Emacs package to get the GitHub/Bitbucket/GitLab/... URL for a buffer location
Stars: ✭ 239 (+1493.33%)
Mutual labels:  spacemacs
Dotfiles
dotfiles managed by GNU Stow
Stars: ✭ 52 (+246.67%)
Mutual labels:  spacemacs
Awesome Spacemacs
A collection of awesome Spacemacs resources
Stars: ✭ 80 (+433.33%)
Mutual labels:  spacemacs
Spacemacs Rocks
Happy Hacking Emacs & Spacemacs (Simplified Chinese)
Stars: ✭ 2,003 (+13253.33%)
Mutual labels:  spacemacs
Vspacecode
Spacemacs like keybindings for Visual Studio Code
Stars: ✭ 793 (+5186.67%)
Mutual labels:  spacemacs
navim
A full-blown IDE based on Neovim (or Vim) with better navigation.
Stars: ✭ 16 (+6.67%)
Mutual labels:  spacemacs
Proton
space-atom. spacemacs and sublimious style editing in atom
Stars: ✭ 570 (+3700%)
Mutual labels:  spacemacs
Dotfiles
My dotfiles for Archlinux and Windows
Stars: ✭ 1,419 (+9360%)
Mutual labels:  spacemacs
.spacemacs.d
aborn's spacemacs configuration.
Stars: ✭ 24 (+60%)
Mutual labels:  spacemacs
Juggernaut
The unstoppable programmers editor written in Rust and Javascript
Stars: ✭ 28 (+86.67%)
Mutual labels:  spacemacs
Dotfiles
🔩 Dotfiles for bash, zsh, tmux, emacs, vim, etc
Stars: ✭ 175 (+1066.67%)
Mutual labels:  spacemacs

Practicalli Landing Page

The website brings together all the content created for the Practicalli series on Functional programming with Clojure.

Overview

This web page was created with ClojureScript, reagent, figwheel-main and Bulma CSS framework.

The project was created with Leiningen build tool and using the figwheel-main template, with reagent option. A Clojure CLI tools configuration has also been added.

Development

To get an interactive development environment run the following command in a terminal:

bin/repl

This script runs the following Clojure command, which can be used if aliases are added or changed

clojure -M:env/figwheel:build/dev

Run via Spacemacs

Open one of the ClojureScript source code files, e.g. src/practicalli/landing_page.cljs

, m s to run sesman-start and select the cider-jack-in-cljs option

The .dir-locals.el configuration file sets the build tool to be figwheel-main and the build profile to be dev (loading the dev.cljs.edn build file)

Clojure CLI

Open a terminal and run the following command to start a REPL

clojure -M:env/figwheel:build/dev

This will auto compile and send all changes to the browser without the need to reload. After the compilation process is complete, you will get a Browser Connected REPL. An easy way to try it is:

(js/alert "Am I connected?")

and you should see an alert in the browser window.

To clean all compiled files:

rm -rf target/public

Use the :build/minify for advanced compilation and a minified JavaScript file:

clojure -M:env/figwheel:build/minify

The :env/fig:build/live build will write the generated javascript code in the /docs/js/practicalli-landing-page.js file.

Running tests

TODO: add some tests

  • check that the relevant sections are added
  • check a section is returning the right form / structure

Deploying to Test

Copy any changes in the following files and directories to the /docs directory:

  • resources/public/index.html
  • resources/public/css
  • resources/public/images

Committing these files in the /docs directory will update the test environment for this project, allowing deployed changes to be viewed before pushing to live.

Automated Deploy via GitHub Actions

.github/workflows/deploy.yml defines a GitHub Actions workflow to deploy on any commit to the live branch, including pull requests merged to that branch.

clojure -M:env/figwheel:build/live command is called to compile the ClojureScript code into an advanced compiled JavaScript file and written to the docs directory.

The GitHub Action deploys the contents of docs directory to the root of the gh-pages branch. The GitHub repository pages section is configured to serve content from the root of the gh-pages branch, enforcing https.

License

Copyright © 2022 Practicalli

Distributed under the Creative Commons Attribution Share-Alike 4.0 International

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].