Skip to content

Instantly share code, notes, and snippets.

@varya
Last active August 29, 2015 14:09
Show Gist options
  • Save varya/84058c775f9725bbdb23 to your computer and use it in GitHub Desktop.
Save varya/84058c775f9725bbdb23 to your computer and use it in GitHub Desktop.
Kss parser

Есть CSS/SASS/LESS код с KSS-комеентариями. KSS-комментарий — это блок комментариев, заканчивающийся строкой "Styleguide n", где n — номер параграфа (1, 2.5, 334.5.7.1). Блоком KSS разметки может быть как многострочный комментарий, так и группа инлайновых комментариев, идуших друг за другом. Блок KSS-разметки документирует код, следующий за ним. Все комментарии, которые не являются KSS-блоками, относятся к коду и должны быть включены в него. Может быть код без документации (в начале файла). И может быть документация без кода, если 2 блока KSS-разметки идут друг за другом, и между ними нет кода. Задача: распарсить документ на массив пар kss - код.

На данный момент есть 2 незаконченных решения.

  1. Жутко медленное на Ometa: https://github.com/varya/sc5-styleguide/blob/47ab9e1e0f9248304a704e7c20c8fb78837ae593/lib/modules/kss-blocks-parser.ometajs

  2. На регэкспах: https://github.com/varya/sc5-styleguide/blob/98079f4fe512eceb7ff537313536a2c1b0edc1e0/lib/modules/kss-splitter.js

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment