Giter Site home page Giter Site logo

noveogroup / university-ios-presentations Goto Github PK

View Code? Open in Web Editor NEW
0.0 5.0 2.0 14.22 MB

iOS university presentations

Home Page: http://noveogroup.github.io/university-ios-presentations/#/

Shell 0.55% Python 0.47% JavaScript 42.82% CSS 49.67% HTML 6.49%

university-ios-presentations's Introduction

build status

Ветка gh-pages формируется автоматически после добавления изменений в master.

Создание лекции

  1. создать в директории source/docs новый .md файл (и, по необходимости, соответствующую директорию для картинок)
  2. в корневой директории запустить билд-скрипт: sh build.sh
  3. Должны появиться .html-файлы (source/index.html и в директории docs). Их можно открывать в браузере - в них будут лекции. Если будут проблемы с отображением в хроме - в сафари должно работать (проблемы локальные, в итоге всё будет нормально и в хроме тоже)
  4. чтобы добавить лекцию в список на главной странице, нужно добавить соответствующую строчку в source/docs/index.md (путь до лекции должен быть относительно корня)

Редактирование лекции

Чтобы отредактировать уже существующую лекцию, нужно редактировать соответствующий .md файл. Кроме него и, возможно, картинок, в папке не должно быть других изменений.

Важно! Не нужно редактировать .html-файлы с лекциями (кроме шаблонных) - все изменения будут потеряны при перегенерации. Эти файлы добавлены в .gitignore

Лекции нужно писать в формате Markdown, для примера синтаксиса можно посмотреть в уже созданные лекции в папке source/docs. В интернете множество страниц с описанием синтаксиса, например

Разделение слайдов происходит по символам ----. Можно делать слайды, перелистывающиеся по вертикали - например, для более подробного уточнения некоторых особенностей (Как в lecture_4.md). Разделитель вертикальных слайдов - --

Проведение лекции

Полезные сочетания клавиш здесь. В частности, стоит обратить внимание на speaker's mode - он позволяет вынести лекцию в отдельное окно некоторую метаинформацию.

Кроме того, можно воспользоваться заметками. Для этого можно в md-файлах добавить поля ^Note: в каждом слайде. Эти заметки будут не видны в презентации, но видны в speaker's режиме. Важно! Поскольку лекции публичные, по завершению лекции заметки будут доступны всем желающим (и видны в репозитории), нужно относиться к ним так же внимательно, как и к самим лекциям.

Экспорт лекций в pdf

  • Открыть лекцию, добавить к адресу ?print-pdf, например: ...university-ios/docs/lecture_4.html?print-pdf
  • распечатать в pdf (нажать ctrl+P и следовать инструкции)

Для автоматического обновления страницы

Чтобы не обновлять страницу руками после каждого изменения файла, можно воспользоваться grunt. Эта система поднимает локальный сервер, и следит за изменениями файлов, обновляя страницу.

Установить node.js (https://nodejs.org)

Установка необходимых компонентов:

sudo npm install -g grunt-cli
npm install

Запуск локального сервера:

grunt serve

Компиляция css-тем после изменения:

grunt css-themes

Как это работает?

Лекции построены на базе движка 'reveal.js'. Есть html-страница, на ней запускается reveal-скрипт, в качестве источника данных которого указываются markdown-файлы. Кроме того, можно подкладывать css-темы (например, тут использована тема engine/scc/theme/noveo.css).

Проблемной стороной данного подхода является то, что для каждой лекции нужен свой html-файл. Поэтому, было решено добавить файл-шаблон, и генерировать html-файлы на лету.

TODO: В дальнейшем планируется перенести генерацию в GitLab CI. Для этого нужно переписать CreateLecture.py в ruby (т.к. shared runner в gitlab.com не позволяют использовать python), либо создать специального runner-a (желательно, с соответствующим docker-контейнером). Для этого уже заготовлен .gitlab-ci.yml - но возможно, придётся что-то еще обновить.

GitHub+Travis плохо подходят для этих целей, т.к. GitHub требует, чтобы все исходники сайта с лекциями были закоммичены в репозиторий. Соответственно, нужно настраивать Travis для сборки и пушей в соответствующую ветку (и только в неё). Результат сборки неотделим от кода, это неправильно идеологически. Сейчас это настроено для ветки gh-pages

university-ios-presentations's People

Contributors

fedulvtubudul avatar ignatovsa avatar noveo-ios avatar v-demina avatar

Watchers

 avatar  avatar  avatar  avatar  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.