Вид ссылок на разделы лекций оставляет тяжёлое впечатление
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.
Переписал скрипт. Теперь все ссылки рабочие и, мягко говоря, "похудели".
Открытым остается вопрос, что мы хотим видеть в строке браузера?
Есть следующие варианты:
- Оставляем циферки - просто и лаконично, но не выразительно
- Делаем транслит - выразительно, но не комильфо
- Используя консольную 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.