Как отсканировать все доступные файлы SCSS и проанализировать комментарии, чтобы создать информацию в массив? - PullRequest
0 голосов
/ 14 марта 2019

У меня много файлов SCSS и я хочу составить руководство по стилю (библиотека со всеми компонентами, такими как кнопки, формы, ...). Это руководство по стилю должно работать автоматически, поэтому при создании новой таблицы стилей оно должно автоматически сканировать комментарии и помещать данные в массив для создания динамической информационной страницы о новом компоненте.

Например:

/**
* @title title1
* @description description1
* @author author1
*/

.list {
   li {
       overflow: hidden;           
       border-bottom: cornflowerblue;
       margin: 0 0 4px 0;
   }

   a {
       text-decoration: none;
   }       
}

Теперь я хочу разобрать этот комментарий и хочу получить слово (а) после a.e. тег @title. Так что в этом случае я хотел бы получить слово «title1» и автоматически сохранить его в массив. Моя попытка была следующей:

$source = file_get_contents("mysite/examplestyles.scss");

$tokens = token_get_all($source);
$comment = array(
    T_COMMENT,
    T_DOC_COMMENT
);

foreach ($tokens as $token)
{
    if (!in_array($token[0], $comment))
    {
        continue;
    }

    $txt = $token[1];
}

Как мне изменить пример кода, чтобы получить информацию, которую я хотел бы получить? Было бы здорово, если бы кто-нибудь смог мне помочь. Я думаю, что было бы понятно, если бы вывод был информацией, которую я хотел бы получить (title1, description1, author1), поэтому было бы неплохо иметь образец кода.

Если у вас есть какие-либо вопросы, вы можете их мне задать.

Спасибо!

1 Ответ

0 голосов
/ 14 марта 2019

Вы в основном пытаетесь заново изобрести SassDoc , но гораздо лучше использовать это решение

...