Skip to content

Commit 5c3f1aa

Browse files
committed
Migrate links, etc to Jekyll
1 parent dc6c98e commit 5c3f1aa

26 files changed

+1532
-0
lines changed

jekyll/_data/nav.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
- title: "Home"
2+
href: "/"
3+
4+
- title: "quicklinks"
5+
href: "/quicklinks.html"
6+
7+
8+
- title: "Initial"
9+
href: "/initial"
10+
subcategories:
11+
- subtitle: "New Project"
12+
subhref: "/new-project.html"
13+
14+
- subtitle: "Basic Project"
15+
subhref: "/basic-project.html"
16+
17+
- subtitle: "ABCs"
18+
subhref: "/abcs.html"
19+
20+
- title: "examples"
21+
href: "/examples"
22+
subcategories:
23+
- subtitle: "Snippets"
24+
subhref: "/snippets.html"
25+
- subtitle: "trotter"
26+
subhref: "/trotter.html"
27+
28+
- title: "env"
29+
href: "/env"
30+
subcategories:
31+
- subtitle: "IDE"
32+
subhref: "/ide.html"
33+
- subtitle: "Quicklisp"
34+
subhref: "/quicklisp.html"
35+
- subtitle: "CUSP"
36+
subhref: "/cusp-setup.html"
37+
- subtitle: "emacs"
38+
subhref: "/emacs-setup.html"
39+
- subtitle: "SLIME"
40+
subhref: "/slime-setup.html"
41+
42+
#- title: "Systems"
43+
# href: "/env"
44+
# subcategories:
45+
- subtitle: "Clozure CL"
46+
subhref: "/ccl-setup.html"
47+
- subtitle: "SBCL"
48+
subhref: "/sbcl-setup.html"
49+
- subtitle: "LispWorks CL"
50+
subhref: "/lispworks-setup.html"
51+
- subtitle: "setup"
52+
subhref: "/lisp-system.html"
53+
- title: "Who?"
54+
href: "/about/"

jekyll/_includes/landing.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
3+
* Set up your [lisp system](./env:lisp-system.html).
4+
* Set up [Quicklisp](./env:quicklisp.html).
5+
* Write some [Lisp](./initial:abcs.html).
6+
* Check out the new project [tutorial](./initial:new-project.html)
7+
* Look up our [Trotter](./examples:trotter-walkthrough.html), a web spider.
8+
* Keep our [Quick Links](./quicklinks.html) bookmarked.

jekyll/_includes/who.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
_who runs this_
2+
3+
articulate-lisp.com is designed to fill a gap in the current
4+
(2012-2015) resources for getting started with Common Lisp. It's the
5+
work of mostly one person (Paul Nathan) so far, and represents his
6+
best efforts and knowledge at this point in time.
7+
8+
In particular, the style and idioms should not be taken as some
9+
mythical best practice, only what has worked for the author in the
10+
past.
11+
12+
Feedback of all sorts will be gratefully welcomed. Contributions and
13+
bug reports should be done via the Github location for maximum
14+
coordination.
15+
16+
Happy hacking!
17+
18+
19+
**Credit**
20+
21+
* Some contributions by Daniel Vedder.
22+
23+
* Analytics by [Quantcast](https://www.quantcast.com/), [MixPanel](http://mixpanel.com), and Google.
24+
25+
* Theme by [Twitter Bootstrap](http://twitter.github.com/bootstrap/).

jekyll/_plugins/markdown.rb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
=begin
2+
Jekyll tag to include Markdown text from _includes directory preprocessing with Liquid.
3+
Usage:
4+
{% markdown <filename> %}
5+
Dependency:
6+
- kramdown
7+
=end
8+
module Jekyll
9+
class MarkdownTag < Liquid::Tag
10+
def initialize(tag_name, text, tokens)
11+
super
12+
@text = text.strip
13+
end
14+
require "kramdown"
15+
def render(context)
16+
tmpl = File.read File.join Dir.pwd, "_includes", @text
17+
site = context.registers[:site]
18+
tmpl = (Liquid::Template.parse tmpl).render site.site_payload
19+
html = Kramdown::Document.new(tmpl).to_html
20+
end
21+
end
22+
end
23+
Liquid::Template.register_tag('markdown', Jekyll::MarkdownTag)

jekyll/about/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
layout: default
3+
---
4+
{% markdown who.md %}

jekyll/env/ccl-setup.html

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
layout: default
3+
---
4+
5+
<header>
6+
<h1 class="title">Clozure CL Setup</h1>
7+
</header>
8+
<p>Clozure is an open source Lisp system provided by Clozure associates.</p>
9+
<h2 id="installing">Installing</h2>
10+
<p>I&#8217;ll defer to their instructions for <a href="http://ccl.clozure.com/download.html">installation</a>.</p>
11+
<p>Of particular interest is that it works on the PPC and ARM architectures; this can be of use to embedded system developers. It is possible to get <a href="http://lispm.dyndns.org/ccl">CCL working on the Raspberry Pi</a>, for instance.</p>
12+
<p>CCL is particularly well-developed on Mac OS X, including a Cocoa bridge and an IDE. It&#8217;s also a good choice on Windows as it supports native (Win32) threads.</p>
13+
<p>In general, like SBCL, it&#8217;s designed to be used as the backend to an IDE.</p>
14+
<p>Note that each platform has a <em>different</em> CCL executable.</p>
15+
<ul>
16+
<li><p>Linux: lx86cl, lx86cl64</p></li>
17+
<li><p>OSX:</p></li>
18+
<li><p>Windows: wx86cl.exe, wx86cl64.exe</p></li>
19+
</ul>
20+
<h2 id="linedit">Linedit</h2>
21+
<p>A CLI tool called linedit is useful.</p>
22+
<pre class="sourceCode commonlisp"><code class="sourceCode commonlisp">(ql:quickload :linedit)
23+
(<span class="kw">require</span> :linedit)
24+
(<span class="kw">funcall</span> (<span class="kw">intern</span> <span class="st">&quot;INSTALL-REPL&quot;</span> :linedit) :wrap-current <span class="kw">t</span>)</code></pre>
25+
<h2 id="notes">Notes</h2>
26+
<p>CCL, in general, is very fast to load and has a good reputation for performance.</p>
27+
<hr/>

jekyll/env/cusp-setup.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
layout: default
3+
---
4+
5+
<header>
6+
<h1 class="title">CUSP</h1>
7+
</header>
8+
<p>CUSP is an Eclipse plugin that should work with the standard Lisp IDE interface (known as SWANK).</p>
9+
<p>Unfortunately, it appears to be sadly out of maintenance.</p>
10+
<p>The initial release was from <a href="http://bitfauna.com/projects/cusp/">bitfauna</a>, then it was forked by <a href="http://www.sergeykolos.com/cusp/update/index.html">Sergey Kolos</a>, then he forked it again to create the Lispdev project, which <a href="https://bitbucket.org/skolos/lispdev/overview">again appears to be untouched</a>.</p>
11+
<p>Bug reports indicate that Kolos Cusp does not work with Windows 7 64-bit.</p>
12+
<hr/>

jekyll/env/emacs-setup.html

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
layout: default
3+
---
4+
5+
<header>
6+
<h1 class="title">Emacs</h1>
7+
</header>
8+
<p>Emacs is <em>the</em> modern open source Lisp IDE. Its history and quirks extend back to the Lisp machines and early editors such as TECO.</p>
9+
<p>It is considered difficult to initially learn, and often disparaged due to the antiquated interface, but is generally thought the best open source free IDE for Common Lisp.</p>
10+
<p>In order to use emacs, there are two variants; XEmacs and GNU Emacs. I usually use GNU emacs, so I&#8217;ll talk about it here.</p>
11+
<p>In order to get it, you can obtain it from the <a href="http://www.gnu.org/software/emacs/">GNU</a>. Windows, Linux, and OSX versions are available. It&#8217;s also available via most Linux distributions package repositories. The most recent version is 24; 23 is also recent and works well with the Superior Lisp Interaction Mode for Emacs, a.k.a SLIME.</p>
12+
<p>New users can find many resources online for Emacs, including a well-written help system! An emacs tutorial can be found <a href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html">here</a>, and the GNU FAQ is also <a href="http://www.gnu.org/software/emacs/emacs-faq.text">available</a></p>
13+
<p>Usually you want to get SLIME installed for your development.</p>
14+
<p>If you&#8217;re using emacs23, SLIME can be found <a href="http://www.common-lisp.net/project/slime/">here</a>.</p>
15+
<p>Emacs24 has it in its package manager (<code>M-x package-list-packages</code>).</p>
16+
<p>I like to use the following elisp to configure SLIME:</p>
17+
<pre><code>(require &#39;cl)
18+
(setq inferior-lisp-program &quot;/usr/local/bin/sbcl&quot;) ;modify to taste
19+
(require &#39;slime)
20+
(slime-setup &#39;(slime-fancy)) ;adds some nice features
21+
22+
;; these give you unicode
23+
(set-language-environment &quot;UTF-8&quot;)
24+
(setenv &quot;LC_LOCALE&quot; &quot;en_US.UTF-8&quot;)
25+
(setenv &quot;LC_CTYPE&quot; &quot;en_US.UTF-8&quot;)
26+
(setq slime-net-coding-system &#39;utf-8-unix)</code></pre>
27+
<p>Another useful tool is:</p>
28+
<pre><code>;; highlight parens
29+
(require &#39;paren)
30+
(show-paren-mode t)
31+
</code></pre>
32+
<h2 id="once-you-are-set-up">Once you are set up&#8230;</h2>
33+
<p>When you load a Lisp file and want to engage SLIME, <code>M-x slime</code> will do the trick.</p>
34+
<p>Paredit is a popular Lisp editing mode that the engaged student will hear about. The author recommends getting comfortable with emacs and SLIME before using Paredit, it provides several automatic s-expression editing features that surprised him on first use.</p>
35+
<p>When you have configured your SLIME in a <code>fancy</code> fashion, you will find a SLIME REPL (Read Evaluate Print Loop) buffer created in your Emacs window.</p>
36+
<p>This provides an interactive view into Common Lisp. You can evaluate functions you are writing in the source file and immediately use them in the REPL. This provides a very fast &#8220;code and test&#8221; facility. p</p>
37+
<hr/>

jekyll/env/ide.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
layout: default
3+
---
4+
<header>
5+
<h1 class="title">IDE Selection</h1>
6+
</header>
7+
<p>One of the chief difficulties in learning Common Lisp development is finding a useful IDE. Here are a list of choices which may work at present (2013).</p>
8+
<p>The canonical free IDE is undoubtably emacs, but it is difficult for newbies. The author has had good experience with messing around on LispWorks.</p>
9+
<h2 id="open-source">Open Source</h2>
10+
<ul>
11+
<li><p><a href="http://www.gnu.org/software/emacs/">emacs/SLIME</a> - Maintained. <a href="emacs-setup.html">Articulate-Lisp emacs article</a></p></li>
12+
<li><p><a href="http://www.vim.org/scripts/script.php?script_id=2531">vim/SLIME</a> - Maintained.</p></li>
13+
<li><p><a href="http://www.cliki.net/MCLIDE">McClide</a> (OSX) - Maintained.</p></li>
14+
<li><p><a href="http://bitfauna.com/projects/cusp/">Cusp/Eclipse</a> - Unmaintained. <a href="cusp-setup.html">Articulate-Lisp cusp article</a></p></li>
15+
<li><p><a href="http://ufasoft.com/lisp/">Ufasoft</a> (Windows) - Unmaintained.</p></li>
16+
</ul>
17+
<h2 id="non-open-source">Non-open source</h2>
18+
<ul>
19+
<li><a href="http://www.lispworks.com/downloads/index.html">LispWorks</a> - Maintained. <a href="./env:lispworks-setup.html">Articulate-lisp LispWorks article</a></li>
20+
<li><a href="http://www.franz.com/downloads/clp/survey">Allegro</a> - Maintained.</li>
21+
</ul>
22+
<hr/>

jekyll/env/lisp-system.html

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
layout: default
3+
---
4+
5+
<header>
6+
<h1 class="title">Choosing Your Lisp</h1>
7+
</header>
8+
<p>Common Lisp implementations usually are called &#8220;systems&#8221;, and there are a number for the expert to choose from; I recommend <strong><a href="http://sbcl.org">SBCL</a></strong> for new users. Read on for more detail.</p>
9+
<h2 id="open-source">Open Source</h2>
10+
<p>In general, Lisp systems are designed around a front end to do development with. However, without an IDE, usually the best usability is to use a system with working arrow keys in the terminal. The author has investigated the <em>CCL</em> and <em>SBCL</em> systems using a plugin called Linedit; this should provide a ramp-up experience.</p>
11+
<p>Using emacs as an IDE and <a href="http://sbcl.org">SBCL</a> (Steel Bank Common Lisp) is the most popular choice at this point in time for open source development. Other common systems are CCL (Clozure Common Lisp), CLISP, ABCL (Armed Bear Common Lisp) and ECL (Embeddable Common Lisp). Less common systems exist. This author recommends <em>SBCL</em> or <em>CCL</em> for beginners who are comfortable on the command line, but would like to point out that each Lisp system provides value within the general Common Lisp ecosystem.</p>
12+
<h2 id="commercial">Commercial</h2>
13+
<p>LispWorks and Allegro Common Lisp are the currently maintained commercial implementations with IDEs. They provide free limited-functionality personal editions. This author has had good experiences with LispWorks Personal Edition; it has limitations on its use, however.</p>
14+
<p>Mobile developers may find <a href="https://wukix.com/mocl">mocl</a> a very interesting product in this space; it is a recently (2013) released Common Lisp system designed for interoperation with the base systems.</p>
15+
<h2 id="tabulation-of-systems">Tabulation of systems</h2>
16+
<table class="table table-striped">
17+
<thead>
18+
<tr class="header">
19+
<th style="text-align: left;">Name</th>
20+
<th style="text-align: left;">Base</th>
21+
<th style="text-align: left;">Notes</th>
22+
</tr>
23+
</thead>
24+
<tbody>
25+
<tr class="odd">
26+
<td style="text-align: left;">SBCL</td>
27+
<td style="text-align: left;">Native</td>
28+
<td style="text-align: left;">High speed compiler</td>
29+
</tr>
30+
<tr class="even">
31+
<td style="text-align: left;">CCL</td>
32+
<td style="text-align: left;">Native</td>
33+
<td style="text-align: left;">High speed compiler, good on OSX and Windows</td>
34+
</tr>
35+
<tr class="odd">
36+
<td style="text-align: left;">LW</td>
37+
<td style="text-align: left;">Native</td>
38+
<td style="text-align: left;">Commercial platform</td>
39+
</tr>
40+
<tr class="even">
41+
<td style="text-align: left;">ACL</td>
42+
<td style="text-align: left;">Native</td>
43+
<td style="text-align: left;">Commercial platform</td>
44+
</tr>
45+
<tr class="odd">
46+
<td style="text-align: left;">ABCL</td>
47+
<td style="text-align: left;">JVM</td>
48+
<td style="text-align: left;">Java interop</td>
49+
</tr>
50+
<tr class="even">
51+
<td style="text-align: left;">ECL</td>
52+
<td style="text-align: left;">C</td>
53+
<td style="text-align: left;">C interop, has iOS port</td>
54+
</tr>
55+
<tr class="odd">
56+
<td style="text-align: left;">MOCL</td>
57+
<td style="text-align: left;">Native</td>
58+
<td style="text-align: left;">Stores CL as a library for mobile devices - iOS &amp; Android</td>
59+
</tr>
60+
</tbody>
61+
</table>
62+
<hr/>

0 commit comments

Comments
 (0)