/rgxp

Regular Expression Collection (ReactJS, Redux, React Router, Recompose, NodeJS, Express)

Primary LanguageTypeScript

RGXP.RU

Набор готовых регулярных выражений на все случаи жизни 👀 Проект open-source и каждый желающий может помочь проекту. Задается вопрос: "Как?".

  1. Добавив своих регулярных выражений.
  2. Посоветовать более элегантное решение (по коду).
  3. Поделиться своими идеями по развитию этого проекта (в issues).

Зачем?

Я отвечу сразу на несколько вопросов - затем. Мне часто требовались регулярные выражения на разные случаи. И чаще всего, я их находил в StackOverflow или на Toster. Однако, хотелось базу регулярных выражений на все возможные случаи.

В итоге, было решено создать этот проект - RGXP.RU

Что использовалось при разработке?

  • Front end: ReactJS, Redux, Recompose, React Router, Stylus.
  • Back end: NodeJS, Express, Knex.
  • ECMAScript 6 (клиент и сервер).
  • Webpack

Как добавить свои регулярные выражения?

Все паттерны содержатся в файле patterns.json.

Внимание! Перед тем, как отправить свои паттерны, проверьте JSON на валидность - https://jsonlint.com/

Чтобы добавить свой паттерн, создайте pull request соблюдая следующий шаблон:

{
  "title": {
    "en": "Title in english",
    "ru": "Заголовок на русском"
  },
  "description": {
    "en": "Description in english",
    "ru": "Описание на русском"
  },
  "pattern": "<title>(.*?)</title>",
  "placeholder": "<title>My site</title>",
  "tags": "title,html,tags",
  "nickname": "Archakov06"
}
name type required description
title object yes Заголовок. Объект состоящий из двух свойств: ru и en (string, required).
description object yes Описание паттерна. Объект состоящий из двух свойств: ru и en (string, required).
pattern string yes Регулярное выражения (шаблон).
placeholder string yes Подсказка
(в основном, указывается значение соответствующее паттерну)
tags string optional Основные тэги вашего паттерна. Указывать через запятую.
(требуется для поиска и категорий).
nickname string optional Ваш никнейм от GitHub

Как оповестить о баге или предложить идею?

Вы можете создать issue в разделе https://github.com/Archakov06/trycode/issues. Если у вас есть вопросы, предложения или вы хотите поругать меня за быдлокод, свяжитесь со мной через GitHub или через контакты ниже. (p.s.: Обратите внимание, что проект на стадии beta).

Обновления

Update 10.12.2017
  • Переписал весь быдлокод на новый быдлокод (рефакторинг)
  • Заменил некоторые классы на stateless component.
  • Подключил библиотеку Recompose (HOC).
  • Подключил React Router.
  • Добавил поддержку копирования выражений одним кликом.
  • Пересоздал проект через CRA (create-react-app).
  • Я - молодец.
Update 08.07.2017
  • Поправил исходники по правилам ESLint.
  • Обновил правила eslint.
  • Поправил паттерны (отдельное спасибо @limitedeternity за перевод остального текста).
  • Небольшие правки с компонентом паттерна. Добавил слэши в начале и в конце к каждому паттерну. Сделал выделение паттерна при клике на поле.
  • Я - молодец.
Update 1.07.2017
  • Поправил баг с тем, что паттерны отображались после второго клика на тэг (категорию).
  • Поправил немного стили.
  • Решили обновы писать в README. Не знаю, хорошая ли это идея.
Update 29.06.2017
  • Добавил функцию просмотра всех совпадений по паттерну.
  • Добавил новых паттернов.
  • Поправил адаптивку.
Update 28.06.2017
  • Добавил возможность открывать определенный тэг по запросу.
  • Удалил рейтинг (временно).
  • Разделил конфиги для webpack (dev/prod).
  • Перенес паттерны на репозиторий (временно, а может и нет).
  • Добавил больше правил для ESLint.
  • Разделил стили от бандла.
  • Поправил поиск паттернов.
  • Небольшие фиксы.
  • В общем, я красавчик!

License

MIT License - Archakov Denis 2017