Code Monkey home page Code Monkey logo

cl-cookbook's Introduction

Lisp Cookbook

A Cookbook is an invaluable resource, as it shows how to do various things in a clear fashion without all the theoretical context. Sometimes you just need to look things up. While cookbooks can never replace proper documentation such as the HyperSpec or books such as Practical Common Lisp, every language deserves a good cookbook, Common Lisp included.

The CL Cookbook aims to tackle all sort of topics, for the beginner as for the more advanced developer.

Contributing

Thanks for contributing to the Cookbook.

You can start by having a look at the style guide.

When adding new content, please ensure it renders properly.

There are two ways to do this:

The first option is to install Jekyll globally and to run jekyll serve in a folder where this repository was checked out.

Then open http://127.0.0.1:4000/cl-cookbook/ (the last / is important).

Another option is to install the Jekyll version of this repository locally with Ruby gems. Since bundler 1.17.3 requires Ruby 2.5 that is rather old, it is recommended to install it using rbenv:

  1. Install rbenv using your package manager, or follow these instructions to install it manually.
  2. Install ruby-build. If you did a manual installation in the previous step, it is recommended to install ruby-build as a rbenv plugin.
  3. Run rbenv install 2.5.0 to install Ruby 2.5.0. Run which gem to make sure it points to ~/.rbenv/shims/gem.
  4. Run gem install bundler -v 1.17.3 to install bundler.
  5. cd to the cl-cookbook directory and run bundle install --path vendor/bundle to install Jekyll locally.
  6. Run budnle exec jekyll serve to generate the site and host it.

Troubleshooting

It can happen that you have older version of ruby installed in the system and bundler install will fail. To fix this, you need to update ruby. If system update is not an option, consider installing rbenv.

    # Check rbenv homepage for install instructions on systems other than Mac OS X
    brew install rbenv ruby-build

    # Add rbenv to bash so that it loads every time you open a terminal
    echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
    source ~/.bash_profile

    # Install Ruby
    rbenv install 2.5.0
    rbenv global 2.5.0
    ruby -v

After this you can proceed as usual:

  1. gem install bundler
  2. bundle install --path vendor/bundle
  3. bundle exec jekyll serve

Also, refer to the CONTRIBUTING.md file.

Building the EPUB

Run make epub. See make-cookbook.lisp.

To exclude regions of text of the build (for example, embedded videos), use these flags:

<!-- epub-exclude-start -->
<!-- epub-exclude-end -->

Origins

This is a fork of the Common Lisp Cookbook, moved from SourceForge.

This project brings the Common Lisp Cookbook to this decade. Development of the original Common Lisp Cookbook in SourceForge halted in 2007. In the meantime, a lot has happened in the land of Common Lisp. Tools and implementations have been improving, and some have fallen out of favor. Most notably, Common Lisp users can now benefit from the Quicklisp library manager.

The main goal is making the Cookbook more modern and more accessible in addition to updating and expanding the content.

Development with GNU Guix

To enter a development environment in which all the required software dependencies are made available, run guix shell in the project's root directory. The provided Guix manifest file will be automatically sourced after giving authorization for Guix to do so.

Support

You can support the individuals that constantly improve the Cookbook. See the Github Sponsors icon. Thanks for them!

cl-cookbook's People

Contributors

vindarel avatar pnathan avatar eudoxia0 avatar sheepduke avatar bendudson avatar ambrevar avatar digikar99 avatar can3p avatar otjura avatar alx-a avatar fstamour avatar thegoofist avatar jgarte avatar svetlyak40wt avatar mmontone avatar contrapunctus-1 avatar imnisen avatar nsrahmad avatar iamfirecracker avatar smashedtoatoms avatar davidsun0 avatar dpflug avatar danielkeogh avatar justin2004 avatar dklayer avatar ldbeth avatar lispnik avatar noorkhan avatar pkulev avatar phlo46 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.