gifts2017

Сервис обмена кодом

Опубликовал Егор Иванов (Infactum) в раздел Программирование - Инструментарий

Бывало так, что вам нужно быстро показать кому-то свой код, но опубликовать его негде, так как популярные сервисы просто не поддерживают раскраску кода 1С?
Теперь решение есть!

Если вы пишите не только на 1С, то вам наверняка знаком такой сервис, как pastebin или его аналоги.  К сожалению ни он, ни его аналоги, не поддерживают раскраску кода 1С. Пришлось написать свое, тем более что для создания proof of concent не потребовалось и получаса. Получилось без блэкджека и куртизанок, но в какой-то степени это отличает от конкурентов (а они есть, как показывает обсуждение).

Итак, ключевые особенности сервиса paste1c:

  1. Максимально аскетично. Внешний вид так же просто, как и выполняемые функции.
  2. Это не сервис для обсуждения вашего кода с другуми людьми. Ключевая задача - получения приватных ссылок, которые удобно кинуть в беседу в том же скайпе или jabber'e.
  3. Корректное отображения на мобильных устройствах. Код должен оставаться форматированным и читаемым, даже если вы смотрите его во время поездке в метро домой.
  4. Ваш код не хранится вечно и будет удален в течении суток. 

Ваши отзывы и пожелания вы можете оставить в комментариях. Если они не будут противоречить концепции сервиса, то в свободное время я по думаю над их внедрением. В ближайших обновлениях планирую добавить подсветку синтаксиса для запросов.

UPDATE 2015-07-03:

  1. Сервис переехал на новый домен http://paste1c.ru. Старый адрес так же доступен в качестве зеркала.
  2. Новый механизм раскраски. Теперь даже директивы форматируются корретно - мелочь а приятно.
  3. Поддержка мобильных устройств. Да, по началу ее не было Tongue Out
  4. Интервал хранения данных увеличен с 1 часа до суток. 

UPDATE 2015-07-10:

Добавлена возможность получать код в виде картинки (например, для вставки в электронные письма). Для этого на странице с кодом есть специальная пиктограмма. Либо можно получить рендер по специальной ссылке вида http://paste1c.ru/<ID>/render, где <ID> - уникальный идентификатор вашего фрагмента кода.

Формирование картинок поддерживает указание дополнительных параметров:

  1. width - ширина результирующего изображения. Допустимы значения от 100px до 2000px. По умолчанию 600px.
  2. zoom - коэффициент масштабирования. Допустимы значения от 0.1 до 3. По умолчанию 1.
  3. quality - качество изображения. Допустимы значения от 1 до 100. По умолчанию 50.
  4. tabsize - размер табуляции (в пробелах).  Допустимы значения от 1 до 10. По умолчанию 4.

Параметры передаются в GET запросе. Например: http://paste1c.ru/<ID>/render?width=600&zoom=2&tabSize=8

А вот пример того, как все выглядит с параметрами по-умолчанию:

Пример отрисовки кода

 Заранее хочу ответить на вопрос: "А зачем мне отрисовка кода, если я сам могу сделать Print Scr из конфигуратора?". Конечно можете! Но в случае использования сервиса не придется ничего обрезать, автоматически сформируются переносы под заданный размер изображения, а так же можно получить единое изображение с кодом, который по-умолчанию у вас просто не влезет на экран (в высоту). Так что пробовать всем!

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Галюк (dj_serega) 26.06.15 16:25
И себе код в папочку на сервере? :)
2. Иван Устьянцев (nSpirit2) 26.06.15 16:31
Ну а для тех у кого есть снегопад предлогаю в дополнение к этому замечательному сервису еще и небольшой скрипт который позволит вам шарить код из конфигуратора по Ctrl + Shift+S ну или тому сочетанию которое вам больше по душе :)
Прикрепленные файлы:
сodeShare.js
Infactum; +1 Ответить
3. Егор Иванов (Infactum) 26.06.15 16:33
(1) dj_serega, Конечно! И на http://govnokod.ru/ выложу.
Ну в целом, если кого-то техническая сторона реализации интересует, то данные хранятся в Redis и у ключей выставлен expire. Поэтому переживать за ваши данные смысла нет. Да и не думаю, что кто-то туда целую конфигу постить собирается :)
TreeDogNight; +1 Ответить
4. Анянов Михаил (insurgut) 26.06.15 16:50
Эх, ничего вы не понимаете - код надо скринить и картинкой показывать ;)
5. Иван Устьянцев (nSpirit2) 26.06.15 16:55
(4) insurgut, Ога фоткать на телефон и посылать по ммс :) Думаю это дальнейшее развитие проекта
6. Андрей Волин (kser87) 26.06.15 17:18
можно добавить простую строку для ввода названия кода? Кусками кода меняемся часто и у каждого "кусочка" есть свое оригинальное имя.
7. Егор Иванов (Infactum) 26.06.15 19:24
(6) kser87, если сервис будет пользоваться спросом, то обязательно приведу его в человеческий вид с учетом пожеланий.
8. Роман Ложкин (webester) 27.06.15 08:40
К сожалению, специализированные сервисы не поддерживают раскраску кода 1С

Мой специализированный сервис http://www.1c-cod.ru/ поддерживает раскраску кода 1С :) уже как несколько лет. Работает через pygments, c помощью допиленных правил. Хочу уйти на highlightjs но все никак руки не соберутся.
9. Роман Ложкин (webester) 27.06.15 08:50
(6) kser87, У меня можно :) добавить название, описание, добавить коммент через дискус, если регаться там не лень, ссылки живут всегда на данный момент, может через какое то время, анонимный код, который никто не смотрит начнет умирать с годами, но пока время хранения кода не ограничено.
10. Михаил Зотов (ZOMI) 28.06.15 18:45
С другом можно и cf поделиться. C приятелем .st. С коллегами через хранилище...
11. eugenie zheludkov (eugeniezheludkov) 29.06.15 03:28
ещеб ктонибудь http://instacod.es/ адаптировал для 1с. Вводишь код, а на выходе имеешь ссылку на картинку, с красиво (3д плюшечки + куча эффектов) оформленым кодом
n0ther; hotey; +2 Ответить 1
12. Роман Ложкин (webester) 29.06.15 09:25
(11)Подозреваю единственный "ктонибудь" это только автор самого http://instacod.es/
13. Андрей Волин (kser87) 29.06.15 10:17
(9) webester, спасибо, попробую
14. Роман Ложкин (webester) 29.06.15 14:16
(13)Если понравится, пожалуйста пишите по контактам на сайте, это будет для меня стимулом развивать функционал.
15. Егор Иванов (Infactum) 10.07.15 15:15
Всем кому тема была интересна рекомендую ознакомиться с обновлениями.
16. Иван Устьянцев (nSpirit2) 10.07.15 15:27
(15) Infactum, Отличное обновление то что нужно :)

Имхо делать принтскрин значительно менее удобно так как я думаю каждый настраивает цветовую схему как ему удобно а делиться все таки лучше в более стандартном формате так что респект автору.
17. Сергей Галюк (dj_serega) 14.07.15 11:03
А сделайте кнопулину для получения ссылки на картинку. :)
18. Егор Иванов (Infactum) 15.07.15 11:05
(17) dj_serega, так есть же кнопка в правом верхнем углу страницы с кодом. Или я чего-то не понимаю.
19. Иван Устьянцев (nSpirit2) 16.07.15 11:18
(18) Infactum, Она не ссылку возвращает а картинку скачивает а нужна именно ссылка на картинку :)
20. Роман Грук (gruk) 22.07.15 09:55
Понравилось. Для удобства обсуждения кода еще бы номера строк прикрутить, но чтоб они при копировании кода в буфер не участвовали.
21. Антон Иванов (BlizD) 26.07.16 12:13
"В ближайших обновлениях планирую добавить подсветку синтаксиса для запросов"
А ближайшее время уже наступило?=)
Не хватает такой подсветки для запросов.
22. Егор Иванов (Infactum) 26.07.16 15:36
(21) BlizD,
Ближайшее время уже давно прошло. Скажу честно, руки не дошли довести проект до ума.
С учетом того, что highlight.js, на основе которого сделана раскраска кода, да и сам node.js серьезно шагнули вперед за последний год, надо еще разобраться с новым форматом описания синтаксиса.
В целом я собираюсь на гитхабе все опубликовать, как только время появится, а там видно будет.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа