Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Clojure FMI Lectures

The lectures for the [Clojure fourse in FMI Sofia](http://fmi.clojure.bg/).
The lectures for the [Clojure course in FMI Sofia](http://fmi.clojure.bg/).

This repository contains both the code needed to generate the lectures as HTML and the lectures themselves (as text files, in Bulgarian).

## Usage
## Usage (compiling lectures)

If you want to compile all the lectures to HTML, just execute:

Expand All @@ -14,6 +14,30 @@ If you want to compile a specific lecture (for example 7), you can run:

$ lein run 7

## Creating new lectures
To add a new lecture you must first create the `.lecture` file for it and after that add it to the `index.yml` file.
Adding to the `index.yml` file is simple just add a new entry in this format.


'<lecture number>':
title: <title of the lecture>
date: <date of the lecture>
slug: <filename of the lecture file>


**Warning:** The filename of the lecture file does not contain the file extension `.lecture`.


###Example
'7':
title: 07. Референтни типове, част 1
date: 2013-03-26
slug: 07-referential-types-1

## Lecture file syntax (.lecture files)

Lecture syntax is described(in Bulgarian) in the `SYNTAX.markdown` file.

## License

Copyright © 2013
Expand Down
101 changes: 101 additions & 0 deletions SYNTAX.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
## Синтакис на слайдовете

Тук е описан синтаксиса на файловете (.lecture) с който са
описани презентациите.Когато сте добавили лекцията в `index.yml` файла първия слайд ще бъде запълнен със заглавитето и датата опоменати там.


Основната структура на файла (.lecture) е съвкупността от слайдове характеризирани със тяхното заглавие и подзаглавие.Когато сложим маркер за заглавие на слайд тогава завършваме предния слайд тоест няма специален синтаксис за край на слайд.

За да започнем нов слайд описаваме неговото заглавие започвайки реда с `=`

### _Пример_
= Заглавие

Опционално може да добавим подзаглавие на слайда като добавим ред започващ със `==`.

###Пример:
= Заглавие
== Подзаглавие (опционално)

След описанието на заглавието и/или подзаглавието започва същинското съдържание на слайда.

То може да се формира от следните няколко елемента:
##1. Текст
Може свободно да се пише текст като в него може да има болднат текст както и код.
Синтаксиса е идентичен с този на Markdown тоест:

### _Пример_
Нормален *Болднат текст* и съответно `код`

##2. Линкове
Линковете могат да се два вида нормален (Markdown) и съответно GitHub
###2.1 GitHub линкове
Ползват се за лесно добавяне на линкове към хранилище в GitHub.Вместо да излписвате пълния линк може да пропуснем `https://github.com` .

### _Пример_
[gh:fmi/lectures]

###2.2 Хтмл линк
Описва линк със заглавие аналогично на синтаксиса на Markdown
### _Пример_
[Заглавие на хиперлинка](http://еxample.com)

##3. Код (Clojure)
Има два начина да покажете код в слайдовете - нормално и със анотация. За улеснени кода е highlighed както и при hover върху Clojure функции се показва тяхната документация.Документацията е както е описана от `doc` формата.

### Annotated
Ако искаме да изпълним парче код в лекциите трябва да ползваме `:annotated` и добавяме коментар `; =>`. Коментара ще остойности последната форма преди него.

### _Пример_
:annotated
(defn sum [a b]
(+ a b))

(sum 1 2) ; =>
Тогава в лекциите ще се преработи:

(defn sum [a b]
(+ a b))

(sum 1 2) ; 3

Другия вариант е просто код без да се evaluate коментарите.

### _Пример_
:code
(def hello-world [name]
(prn "Hello," name))


##4. Списък
Може и да добавяте списък от елементи, който е неподреден

### _Пример_

* Булет 1
* Булет 2

##5. HTML
Освен всичко гореупоменато може да се добавя и html код без специален синтаксис.

#Примерен (.lecture) файл:

= Слайд 1
== Подзаглавие

* Слайдовете са в GitHub - [gh:fmi/lectures]
* Това е текст *болд* и малко код `code`
* [Примерен сайт](http://example.com)
* [http://clojure.org/cheatsheet]

:code
((fn [a b c d e]
(+ a b c d e))
1 2 3 4 5)

:annotate
(map str [1 2 3 4 5])
; =>

Това е тестов HTML фрагмент:
<img src="image.jpg" alt="Custom image"></img>