Блог пользователя MikeMirzayanov

Автор MikeMirzayanov, 14 лет назад, По-русски

Так как почти каждый член сообщества Codeforces умеет программировать, мы решили отказаться от wysiwyg редактора HTML и внедрить более программистский способ разметки текста. Конечно, технические тексты станет набирать значительно удобнее, а тексты будут выглядеть единообразнее.

Теперь мы используем вариант Markdown в качестве языка разметки для публикации постов в блог и комментариев (позже будет в личных сообщениях и, вообще, всюду). Так как мы используем дополнительные расширения, то разметку мы называем просто Codeforces Markup. Расширения Codeforces можно подглядеть в редакторе, описание остальных я опубликую здесь чуть позже. В Codeforces Markup менее навороченный синтаксис спец. тегов — двойные квадратные скобки заменены на одинарные (например, [problem:11A], [user:Petr], а можно так ~Petr).

Кроме того, улучшена типографика постов и комментариев.

Посмотреть описание Markdown можно по ссылкам:

Вот короткий список возможностей:

  1. вставка хэндла пользователя (по короткому тегу вида ~tourist);
  2. курсив и жирный текст (*курсив* и **жирный текст**);
  3. код внутри строки — return a == 0 ? b : gcd(b % a, a); (поместите код между символами `);
  4. ненумерованные, нумерованные и вложенные списки;
  5. заголовки;
  6. автозамена дефисов на тире (эвристика);
  7. автовставка ссылки по адресу, пример: http://mirror.codeforces.com/;
  8. таблицы и изображения;
  9. подсветка кода;
  10. "умная" расстановка кавычек;
  11. абзацы разделяются пустой строкой, переводы строк игнорируются;
  12. спец. теги Codeforces;
  13. значительно улучшено распознавание формул, можно писать "с вас $2";
  14. и многое другое!

Несколько примеров использования тегов Codeforces:

исходный код результат
~Ripatti - Лучший автор задач 2011 - Ripatti — Лучший автор задач 2011
[user:tourist] - лидер рейтинга tourist — лидер рейтинга
[problem:125E] - задача на графы, решите [problem:125E,ее] 125E - Компания MST — задача на графы, решите ее
результаты [contest:125] доступны по [standings:125,ссылке] результаты Codeforces Testing Round 2 доступны по ссылке
решение [problem:125E] - [submission:912139] решение 125E - Компания MST912139
[photoalbum:PicasaPublicAlbumURL] симпатично вставляет фотографии из альбома

Напоминаю, что на Codeforces реализован предпросмотр, так что не надо сумасшедших экспериментов по изучению Markdown в комментариях :)

MikeMirzayanov

  • Проголосовать: нравится
  • +97
  • Проголосовать: не нравится

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится
#include <stdio.h>
int main() {
    printf("Hello wolrd!\n");
    return 0;
}
  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится 0 Проголосовать: не нравится

    как? у меня получилось только так

    #include <stdio.h>
    
    int main() {
        printf("Hello wolrd!\n");
        return 0;
    }
    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 9  
      Проголосовать: нравится +5 Проголосовать: не нравится

      Мда, очень не хватает предпросмотра при редактировании ;)

      Во, окружение пятью тильдами работает:

      for (int i = 0; i < 10; ++i)
          cout << "blablabla\n";
      
      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
        Rev. 2  
        Проголосовать: нравится +13 Проголосовать: не нравится

        кстати, смотрю на свой пост и переключаю правки — после переключения код в одно строчку влепился вот так: "как? у меня получилось только так #include int main() { printf("Hello wolrd!\n"); return 0; } "

        upd. а за что минусовать? багрепорт не достоен минуса. он должен быть рассмотрен! не верите — могу скрин прикрепить

»
14 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +8 Проголосовать: не нравится

Вот и первый баг обнаружился. Сделал списочек правкой ниже, и при нажатии “предпросмотр”, комментарий с код превращается вот в такое: ![Баг](http://s2.ipicture.ru/uploads/20120128/2jTfwwuD.jpg "")

Причем кол-во букв a. зависит от кол-ва нажатий кнопки :) Но при финальном просмотре все нормально.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -9 Проголосовать: не нравится

I think it's more convinient if the links in post and comment will be opened in "new tab" — for most popular browser (IE, Firefox, Opera) supported tab-browser now.

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

О, наконец поймал скриншот бага, который регулярно возникал после последнего обновления. Русский интерфейс: Баг
Обратите внимание, что показывается 3 комментария, а счётчик говорит о четырёх. Плюс, по новомодному редактору, только обнаружил. При вставке картинки предлагается ввести Alt, Href и некий Title. Причём Alt прописывается в теге, а вот Title куда-то исчезает — в html-коде от него нет и следа.

UPD: В частности сейчас счётчик тоже врёт на один.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -12 Проголосовать: не нравится

Простите конечно, но я не понимаю как писать код с переводами строк и табуляцией, у меня это не выходит. Также я не могу переключиться к HTML (opera 11.61). Так задумано, что теперь мои комментарии будут полным гавном без переводов строк, и с кривым кодом в одну строчку, или это еще баги бегают?

  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 4  
    Проголосовать: нравится 0 Проголосовать: не нравится

    Перевод строки — <br />
    Табуляцию — ручками с помощью &nbsp; один символ — один неразрывный пробел.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 5  
      Проголосовать: нравится +6 Проголосовать: не нравится

      То ли я дурак, то ли лыжы не едут. Михаил, если вы можете посмотреть историю правок, очень рекомендую сделать это, ибо чушь какая-то у меня получается. При нажатии “редактироватать” вообще невесть что вылезло.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится 0 Проголосовать: не нравится

      Используйте выделение кодом, например <br/> или &nbsp;. Хотя вроде в традициях markup форсировать перевод строки двумя висячими пробелами:

      первая строка<space><space>
      вторая строка
      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
        Rev. 2  
        Проголосовать: нравится +24 Проголосовать: не нравится

        В этом коменте(вашем) как и других принципе если переходить вперёд по правкам то рамка пропадает. И приходиться обновлять страницу чтобы вернуть начальный вид.

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    При наборе текстов пользоваться переводами строк дурной тон. Текст должен состоять из абзацев. Прочтите документацию, абзацы разделяются очень удобно — одной или более пустой строкой. Перевод можно вставить насильственно (см. документацию по markdown), но обычно это не нужно. Табуляции в тексте это вообще что-то странное, зачем они нужны?

    Конечно, в режиме вставки кода переводы строк будут сохранены.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Об этом уже много раз говорили, я скажу еще раз: уберите, пожалуйста бесконечную переадресацию при log out'е с некоторых страниц сайта.

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +4 Проголосовать: не нравится

А так и задумано, чтобы входные и выходные данные были коричневого цвета?
Например: 145E - Счастливые запросы

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

Не знаю, связано ли это с нововведениями, но при большом количестве ветвлений счетчик плюсов залезает на надпись Ответить. Вот скрин:

Может быть картинка слишком маленькая, вот ссылка на большее изображение

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +27 Проголосовать: не нравится

мне кажется, что цвет фона ссылки, на которую наведён курсор, стоит сменить на менее вырвиглазный. более мягких тонов, что ли.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Даешь замену ссылок на CF на внутренние (без домена), бесит слет авотризации/переход на другой язык

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

Не знаю баг ли, но если походить по правкам сначала в 3 а потом обратно в 4, то будет какая-то хрень.

Вот тут(последний коммент)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Было бы очень клёво, если бы добавили возможность писать полноценные формулы на языке LaTeX. Рендерить их можно было бы, например, при помощи MathJax.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится
»
14 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +15 Проголосовать: не нравится

Хочу видеть все комментарии.

Сделайте так, чтобы можно было автоматически не скрывать комментарии с отрицательным рейтингом.

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +8 Проголосовать: не нравится

    и вообще, зачем было введено это: скрывать коммент с очень низким рейтом?

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +8 Проголосовать: не нравится

      вот-вот, тоже очень не нравится это нововведение. похоже на очередной акт против инакомыслия

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 4  
      Проголосовать: нравится +6 Проголосовать: не нравится

      очередная попытка решения 12 проблемы

      Но 12 проблема — такая 12 проблема...

      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +16 Проголосовать: не нравится

        А по мне вполне успешное решение проблемы, теперь ваши комментарии стали нечитаемыми:

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

        • »
          »
          »
          »
          »
          14 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 0 Проголосовать: не нравится

          "Уважаемая администрация, если вы копируете систему скрытия комментариев с хабра, то копируйте её полностью, очень неудобно."
          Копируйте её полностью

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +5 Проголосовать: не нравится

    Да, сделать бы опцию "не скрывать комментарии с низким рейтингом", а то из оперы мини, чтобы прогрузить один коммент нужно прогрузить всю страницу.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

кнопку "ответить" перенесли в верхушку каждого сообщения, так теперь может быть добавить "ответить на тему" в внизу страницы?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Может можно исправить вот такой момент как-нибудь?

Чтобы попасть на кнопку "Ответить" надо очень сильно постараться...

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

I don't like that all code is now red without highlighting the keywords...

Prettyprint was better I think.

UPD: it seems that it's working in comments, but not in blogs, formatting was discussed here

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

не знаю даже куда написать, напишу сюда: бага с просмотром новых комментариев когда переходишь к след. новому комменту страница заново пролистывается (у yeputons такого нет)

P.S. и еще теперь не "Написать комментарий", а "Write comment", это баг или фича?

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Не понял, что за бага. Напиши подробнее.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      ну когда жмешь на стрелку вниз, обычно переходит к след комменту (так должно быть), а у меня жмешь стрелку вниз, проматывается вся страница от начала до этого коммента (все равно, врядли понятно)

      у меня Опера (через хром (опять же) все нормально), такое ощущение, что опера какая-то ущербная

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

Don't get the urge to reinvent wheels. bbcode is well tested and universal and known to work in comments including code sites. Random wiki markup comes with such complications. Imagine a problem required me to explain something like: http://pastebin.com/7ybg21rP

If I just type the ascii art here, it will look like this: .. ..**..** ..*.*.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

После этого изменения все коды на Java стали резать глаз из-за ужасной подсветки. Может я такой один, тогда прошу прощения, но если все-таки нет — не могли бы вы как-нибудь ее поменять, вернуть ту, которая была до этого. Раньше она была эдентична подсветке в Eclipse и это было прекрасно, а теперь она какая-то блеклая и резкая, что вот ни капли не радует глаз. Заранее спасибо.

»
14 лет назад, скрыть # |
Rev. 6  
Проголосовать: нравится 0 Проголосовать: не нравится

Hi, this is just a minor bug, but it seems like my username R _ R _ can not be inserted correctly (it became R_R_ because of the '_') :(

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Несколько комментариев:

  • лучше использовать «такие» кавычки (Вики);
  • перед тире следует ставить неразравный пробел (&nbsp;), за исключением случаев, когда это прямая речь.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

А рассматривается ли вариант с добавление спойлеров?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +20 Проголосовать: не нравится

Когда-то уже спрашивали, спрошу ещё раз: планируется ли добавить поддержку MathJax для формул TeX? Это бы значительно увеличило качество формул, к тому же не надо возиться с собственным TeX-парсером.

Пример работы MathJax можно посмотреть на http://math.stackexchange.com/.

Сейчас с формулами есть целая куча проблем, из-за которых формулы трудно читать. Вот только некоторые:

  • Вместо минуса «−» ставится дефис  - 
  • Выносные формулы (display math) имеют странные вертикальные отступы
  • После очередной выносной формулы первая обычная формула не работает
  • Названия функций типа min и max набираются курсивом, а не прямым начертанием
  • Многое формулы рендерятся как картинки, в результате размытость, несоответствие стилю формул не на картинках, нельзя масштабировать
  • В выносных формулах не используется \displaystyle, в результате имеем вместо
  • Символы операторов и отношений не находятся на уровне строчных букв: a = 1
  • Нельзя набрать десятичную дробь, после запятой вставляется пробел: 1, 5
  • Формулы выравниваются не по базовой линии, а по центру:
  • \pmod не работает
»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

У меня не отображаются картинки в коментариях к данному блогу. (Chrome android)

»
12 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Два вопроса:

Как можно сделать "cut"?
Т.е. перенести часть текста поста под ссылку "Полный текст", тег <cut> не помогает.

Какой рекомендуемый способ вставки изображений?
Хостингов, которые хранят "вечно" не знаю. Единственное, что приходит в голову — разместить в своем google-аккаунте и вставить прямую ссылку.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Can anyone teach me how to upload an image in comments?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

На подскажите как вставлять знак доллара сам по себе?

А то, например, в этом комментарии (в первой его редакции) два долларовых знака интерпретируются как формула, не смотря на пустую строку между ними.

Видел, что это возможно, но не знаю как посмотреть исходный markup. (Это вроде возможно только после того, как в исходный текст вносятся правки?)

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to write a code in a comment?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится -18 Проголосовать: не нравится

How to write a code in a comment?

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
»
3 года назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

hii

»
9 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Hello Mike, I recently created a Codeforces account using my Gmail and it automatically used my email prefix as the username. I would like to change it to something else for privacy reasons.

Current username: [iamtanvir2003]
Desired username: [tanvir_156]