mmcs-sfedu/PL_Lections_2014-2015

Вид ссылок на разделы лекций оставляет тяжёлое впечатление

ulysses4ever opened this issue · 30 comments

Я имею ввиду автоматически сгенерённые якоря (HTML тек a с атрибутом name) на заголовках. Кириллица одируется очнь неприятным образом. Хотелось бы это как-то исправить. Можно руками ставить теги a, это, конечно, не очень красиво. Интересно, нет ли расширения Маркдауна, которое доступно на Гитхабе, чтобы явно указывать имя якоря.

Кажется, можно просто использовать [topic header]�(#�header), но только в пределах одного и того же markdown файла.

Может, просто перетерпеть эти длинные ссылки? Всё равно это всё скрипт должен генерировать.

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

Можно воспользоваться обычным html: <href a="...">
А, это тот же [...]�(...)

Я писал про это, да. Только <a name="...">.

Я для примера сделал руками якоря в первой лекции и ссылки на них в индексном файле.

Кстати, то, как будут оформляться якоря, влияет на то, как генерировать индексы (если решать проблему #11).

В общем автоген индекса я сделал
https://github.com/razykov/PL_Lections_2014-2015/blob/add-index_-gen/index_regen.py

Однако, как видите, проблема с трудночитаемыми ссылками не решена.

По-моему мнению, index.md надо объявить сугубо автоматически генерируемым файлом, и не лазить туда своими грязными ручонками. Тогда никому не придется читать эти огромные ссылки и ни у кого они тяжелое впечатление оставлять не будут. Просто, получается мы упрощаем index.md в ущерб простоты файлов с текстом лекций, которые мы вынуждены будем редактировать.

Короче говоря, я сие межерю или все таки будем придумывать что-то другое?

Не, я не согласен про index.md. Проблема не в том, что внутри него написано, проблема в том, что когда переходишь по ссылке из него, то в строке адреса появляется этот ужас. Скрипт на Питоне я бы предложил вам модифицировать, чтобы он проверял: есть ли в предыдущей строке <a name="..."> и если есть, то для ссылки брал бы содержимое name. Мне кажется, это несложно.

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

Ну, или просто число?

А как меняется внешний вид? Не заметил изменений, кроме тех, что появляется якорь.

Вот эти якоря меня и смущают, причем не сколько их наличие, а сколько необходимость их добавления. Впрочем я не предлагаю от них избавляться. Я хочу, чтобы скрипт генерил якоря в отдельной копии *.md файла и помещал ее в каталог pages. Только потом с этих копий формировать страницы и индекс. Я не хочу, внося дополнения, думать о том, правильно ли меня поймет скрипт и обходить то, что не имеет отношения к форматированию и работать с чистым markdown.

Просто, по-моему, это не правильно, когда в одном файле, с которым работает человек, несколько языков разметки.

Вообще, всё верно. С одной стороны хочется, чтобы адресы страниц выглядели красивыми, с другой стороны эти якоря (a name) портят исходники лекций. И идея генерирования md для pages на основании "чистых" md — хороший выход.

В общем я это межерю, хотя бы для того, чтобы проиндексировать 6 лекцию, а на выходных переделаю.
Там, как я обнаружил, некоторые ссылки не рабочие: они совпадают с теми, что генерит гитхаб, но они не рабочие. В частности ссылки в которых есть "++". Так что есть еще один аргумент в пользу якорей.

Ребята! Времени мало, постараюсь кратко подытожить.

Я согласен, что html-теги внутри Маркдауна смотрятся плохо. Это противоречит идеологии МД: текст должен легко читаться без преобразования во что-либо. Однако есть два «но»: 1) Маркдаун очень беден, в жизни его приходится разбавлять тегами и LaTeX-формулами всё равно — собственно, потому создатели МД и добавили правила, по которым HTML-теги никак не трогаются парсером; 2) мы пишем конспект не для для себя, а для читателя, который не видит МД-код ,а видит HTML и ужасную строку адреса, особенно, если хочет с кем-то поделиться ссылкой.

Хорошая новость: явно вставлять теги a, вроде бы необязательно, есть вопрос вот тут:
http://stackoverflow.com/q/5319754/465100
можно поэкспериментировать. И подумать как проще будет для генератора индексного файла.

В принципе, можно от этого отказаться. Тогда я не вижу особого поинта в том, чтобы писать это в обычном репозитории, а не использовать Вики ГитХаба: в ней будет всё то же (включая ужасные урлы), но плюс ещё автогенерация содержания на каждой странице. Напоминаю, что с вики ГХ можно работать как с обычным репозиторием.

Итак, делаем красивые ссылки вкупе с автогенератором index'a.

Переписал скрипт. Теперь все ссылки рабочие и, мягко говоря, "похудели".
Открытым остается вопрос, что мы хотим видеть в строке браузера?
Есть следующие варианты:

  1. Оставляем циферки - просто и лаконично, но не выразительно
  2. Делаем транслит - выразительно, но не комильфо
  3. Используя консольную linux утилиту google-translate, делаем англоязычные якоря - большинство ссылок выглядят как рукописные, но скрипт перестает быть кроссплатформенным.

Я предлагаю писать английские имена якорей руками, как я делал тут 24d663f

По моему опыту: нормальные имена автоматически не получишь никак.

И я, кстати, писал бы в якорях не C++, а cpp.

Или заюзать ранее подготовленный словарь, а всё остальное утилиткой google-translate.
*ассоциативный массив.

:)))))) Я как раз этим сейчас и занимаюсь.

Словарь, как я понимаю, обеспечивает отображение на уровне слов. Это ущербный вариант по сравнению с полноценным переводом фраз. Нормально пословно переводить невозможно: разные языки слишком…

Нет. Словарь составляется автоматически с помощью google-translate. Потом, неправильно переведенные якоря можно будет править вручную, при этом данные исправления будут нетронуты при повторной генерации.

Т.е. отображение обеспечивается на уровне фраз, а не слов

А можно ссылку на эту чудо-утилиту?

2014-10-13 18:11 GMT+04:00 razykov notifications@github.com:

Т.е. отображение обеспечивается на уровне фраз


Reply to this email directly or view it on GitHub
#12 (comment)
.

В письме от 13 октября 2014 07:12:06 пользователь Artem Pelenitsyn написал:

А можно ссылку на эту чудо-утилиту?

2014-10-13 18:11 GMT+04:00 razykov notifications@github.com:

Т.е. отображение обеспечивается на уровне фраз


Reply to this email directly or view it on GitHub
<#12 (comment)
8897205> .


Reply to this email directly or view it on GitHub:
#12 (comment)
7341

Я этот скрипт еще пишу - я создал отдельную ветку в нашем репозитории. А если
Вы про google-translate, то его я брал из AUR'а.

Да, я про гугл-транслейт, в репах Убунты его нет. Кроме того, я предложил Админу потренироваться в использовании ГитХаба, он вроде бы согласился, но мы пока не начинали. Использовать Линукс он вряд ли станет. Если он подключится, то у него будет поражение в возможностях (что автоматически снижает вероятность его подключения).

Я сейчас посмотрел что внутри у этого google-transtate - это простой bash скрипт, который использует wget, поэтому запустить его в любом линуксе не составит труда. А по-поводу винды, надо подумать. На GitHub'е есть подобные Python скрипты, возможно лучше будет использовать их.

Думаю, что эту тему можно закрыть. После вчерашнего слияния веток gh-pages с index-regen-add-dictionary мы имеем, автоматически генерируемые англоязычные якоря с возможностью вручную вносить исправления. Как теперь работать с репозиторием я набросал в wiki.