Coder Social home page Coder Social logo

radio-t / radio-t-site Goto Github PK

View Code? Open in Web Editor NEW
101.0 101.0 58.0 160.81 MB

Сайт подкаста Радио-Т

Home Page: https://radio-t.com

License: MIT License

Shell 0.40% HTML 17.29% Python 3.53% JavaScript 15.48% Dockerfile 1.44% Makefile 0.45% SCSS 40.93% Go 20.47%
hugo podcast

radio-t-site's People

Contributors

a-korzun avatar adfslslddkds avatar arthurgubaidullin avatar bobuk avatar dependabot[bot] avatar dimon4ezzz avatar dtruebin avatar grayodesa avatar guerosf avatar habibutsu avatar ignotus avatar igoradamenko avatar labutin avatar lbejiuk avatar life777 avatar mbelsky avatar mvartanyan avatar nihisil avatar nikitapozdeev avatar paskal avatar q210 avatar rakleed avatar reeywhaar avatar samoed avatar shvl avatar ssdd28561 avatar thetitanrain avatar umputun avatar webkonstantin avatar zsxoff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

radio-t-site's Issues

Добавить главы в mp3-файл подкаста

Заметил, что плеер подкастов на айосе умеет показывать главы.
Приятная штука - можно переключаться между темами (пример такого подкаста - https://newrustacean.com/show_notes/news/rust_1_32/index.html, https://www.podtrac.com/pts/redirect.mp3/f001.backblazeb2.com/file/newrustacean/news/rust_1_32.mp3).

Всё делается с помощью mp3 тэгов Chapter, внутри которых есть время начала главы, время окончания и название.

Не знаю туда ли я написал тикет, это вроде самый подходящий репозиторий.

при наведении на текст мышью, подсвечивается блок - помимо изменения цвета самого текста

image

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

Добавить автоматический updater

Для доставки изменений из мастера на сайт сейчас нужна ручная активация. Это нормально для публикации новых подкастов/тем, однако для прочих изменений, типа PR с правкой ошибок, хотелось бе этот шаг избежать.

Подобный механизм уже существует тут podcast-uwp/site#21

Проблемы с google podcasts

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

Похоже что гугл сам их находит и требует 2х условий:

  1. Link to your RSS feed from your website
  2. Link to your website from your RSS feed

Насколько я могу судить оба выполнены хотя https://podnews.net/podcast/256504435 (в секции Technical details) утверждает

Google Podcasts: this podcast’s website does not contain a link rel="alternate" element pointing to the RSS feed. This is not following Google’s guidelines. It is, however, listed correctly in Google Podcasts. Use our link badge generator.

Я наблюдаю rel="alternate" element в фиде:

<link href="http://feeds.rucast.net/radio-t" title="Радио-Т Подкаст" type="application/atom+xml" rel="alternate">

Мне такое проверить трудно, т.к. андроида нет под рукой. Если у кого есть идеи, поделитесь.

Переадресатор старых URL на новые

@grayru справедиво заметил:

Много лет назад адрес выпуска выглядел как http://radio-t.com/podcasts/radio-t-94/. Сейчас этот адрес выглядит как https://radio-t.com/p/2008/07/13/podcast-94/. А мы не хотим не в 404 все старые ссылки посылать, а переадресовать их правильно?

Я не очень помню как mapping подобного рода делается в nginx но в любом случае понадобится некий файл с чем-то типа http://radio-t.com/podcasts/radio-t-94/ -> https://radio-t.com/p/2008/07/13/podcast-94/ Очевидно, что подобное нельзя сделать никакими магическими regexp но надо информацию про сайт.

См #23 где упомнился API для сайта. Как и в том тикете, цель это не элегантный и красивый скрипт, но конечный файл.

Кнопка "Поиск" должена быть кнопкой

Здравствуйте,

Кнопка поиска на сайте radio-t выполнена ввиде элемента label. Семантически это не верно, но есть и другая проблема. К сожалению с точки зрения доступности это не очень хорошо, так как программы чтения экрана для слабовидящих людей не смогут её распознать как кнопку, на которую можно нажать. Также на ней не возможно перейти с клавиатуры путем нажатия кнопки Tab.

Решения это проблемы простое - сдалать эту кнопку с помощью элемента button.

Заранее спасибо

После нажатия на Show More страница скроллится к началу комментов

Если открыта страница выпуска либо тем для выпуска с #comments, то после нажатия на Show More в комментах страница скролится к началу комментов.
Эта особенность появилась после фикса #73.
Фактически, тут https://github.com/radio-t/radio-t-site/blob/master/hugo/src/js/components/remark.tsx#L106

Can't donate

Can't pop up from Russia, not listed in country list on paypal.

  • Tried donate via paypal

С включенным ghostery в FF не работает плеер подкастов

Должен ли проигрыватель работать с включенным ghostery? У меня при включенном ghostery не работает проигрывание, в логах ошибка NotSupportedError: The media resource indicated by the src attribute or assigned media provider object was not suitable.. Повторяется практически всегда, достаточно открыть главную страницу в новой вкладке и в ней запустить на проигрывание любой подкаст.
изображение

Перестает повторяться, если в Ghostery добавить сайт в доверенное, а потом удалить на этой же вкладке. При открытии сайта в новой вкладке проблема повторяется.

Браузер FF 66.0.5 (64-битный)
Ghostery для Firefox версии 8.3.4

Добавить num к response.

Добрый день
Пишу мобильное приложение для Radio-t. Есть маленькую просьба по API.
Добавьте в response на endPoints которые возвращают array подкастов field с номером выпуска. А то для того чтобы сделать call на /podcast/{num}, надо вытаскивать номер выпуска с title.

Навести порядок в скриптах

Скрипты в publish хорошо бы привести в человеческий вид. В идеале хотелось бы от всего этого зоопарка избавится, как и от мелких .py и заменить их чем-то одним и общим, делающим тоже самое, но аккуратно и красиво.

Как запустить сайт?

Запустил docker-compose run hugo и оно не запустилось. Что делать?

Вывод консоли:

$ docker-compose up
Starting updater             ... done
Recreating radiotsite_hugo_1 ... done
Attaching to updater, radiotsite_hugo_1
hugo_1     |  === generate pages ===
hugo_1     | Error: Unable to locate Config file. Perhaps you need to create a new site.
hugo_1     |        Run `hugo help new` for details.
hugo_1     |
hugo_1     | /srv/exec.sh: line 5: /srv/hugo/generate_rss.py: not found
radiotsite_hugo_1 exited with code 127
$ docker version
Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24302
 Built: Fri Mar 23 08:31:36 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm

Server: Docker Engine - Community
 Engine:
  Version:      18.09.0
  API version:  1.39 (minimum version 1.12)
  Go version:   go1.10.4
  Git commit:   4d60db4
  Built:        Wed Nov  7 00:52:55 2018
  OS/Arch:      linux/amd64
  Experimental: false
$ docker-compose version
docker-compose version 1.20.1, build 5d8c71b2
docker-py version: 3.1.4
CPython version: 3.6.4
OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017```

Перевести comments

k9mm4-201905-14212936-wo8h9

Вместо этого хотелось бы видеть слово "комментарии" @Reeywhaar - это вообще делается со стороны @sw-double или оно у нас там крепко прибито в ремарке?

Кнопка переключения темы не меняется при фокусе на ней

Здравствуйте,

В данной ситуации я вижу две проблемы связанные с доступностью данной кнопки:

  1. Когда пользователь с помощью кнопки Tab ходит по сайту почти все элементы имеют отличия в стиле при фокусе на них. Это может быть outline как на пример лого или пункты меню, или отдельные стили, как например кнопка Поиска. Но при нажатии кнопки Tab после фокуса на лого сайта, пользователь теряет фокус, так как ни один элемент на странице не поменял стиль. Если нажать ещё раз на кнопку Tab, то фокус появится вновь на кнопке Поиск. Потеря фокуса происходит из-за того, что на кнопке смены темы нету отдельных стилей для фокуса.
    Решение: добавить стили для кнопки смены темы при фокусе на ней.

  2. Кнопка смена темы имеет только иконку внутри и по этому для людей, которые пользуются скрин ридерами, будет не понятно, что эта кнопка делает.
    Решение: добавить area-label и title атрибуты с описанием.

Спасибо

Импорт очень старых коментов

До переезда на discuss наши коменты жили в другой систем, IntenseDebate. Я смог выгрузить их XML, однако подобного импортера в remark42 нет, и вряд-ли он там когда-то появится, т.к. IntenseDebate не настолько популярная платформа.

Наша цель - преобразовать этот xml в json формата backup/restore для remark42.

Вот такой вход:

<?xml version="1.0" encoding="UTF-8"?>
<output>

<blogpost>
<url>http%3A%2F%2Fradio-t.com%2Ftemi_dlja_vipuskov%2Ftemyi-dlya-50%2F</url>
<title>Темы для #50</title>
<guid>68</guid>
<comments>
	<comment id='13438060' parentid='13439997'>
		<isAnon>1</isAnon>
		<name><![CDATA[MrZombie]]></name>
		<email>[email protected]</email>
		<url>http://u1304.rpod.ru/</url>
		<ip>0.0.0.0</ip>
		<text><![CDATA[Это фейк???  ]]></text>
		<date>2007-11-23 20:15:56</date>
		<gmt>2007-11-23 20:15:56</gmt>
		<score>0</score>
	</comment>
	<comment id='13439938' parentid='13439989'>
		<isAnon>1</isAnon>
		<name><![CDATA[umputun]]></name>
		<email>[email protected]</email>
		<url>http://radio-t.com</url>
		<ip>0.0.0.0</ip>
		<text><![CDATA[мы о нем рассказывали с несколько мес. наверное назад. В момент его анонса.  ]]></text>
		<date>2007-09-04 19:30:45</date>
		<gmt>2007-09-04 19:30:45</gmt>
		<score>0</score>
	</comment>

Из этого надо сделать типа такого:

{"id":"1784445542","pid":"","text":"<p>&gt; онтошения</p>","user":{"name":"paaleksey","id":"disqus_2d5ec74548b6d9e13dcee459f223e09703facf0a","picture":"","admin":false,
"ip":"f407d9a836bb0228ca79bc18bd8ae7fcefb611a0"},"locator":{"site":"radiot","url":"http://radio-t.com/apps/index.html"},"score":0,"votes":{},"time":"2015-01-10T15:09:33
Z"}
{"id":"1894383470","pid":"","text":"<p>Нет возможности скачать приложение для windows phone из Украины(( снимите ограничение, пожалуйста. Смена настроек дала только воз
можность комментарии читать(</p>","user":{"name":"Yaroslav Butcovetc","id":"disqus_5cc13059008be4e9a1ec6cd41a47fa9a100504ab","picture":"","admin":false,"ip":"1b33ef3fee
266591bc9a264210507f8838a9f5cd"},"locator":{"site":"radiot","url":"http://radio-t.com/apps/index.html"},"score":0,"votes":{},"time":"2015-03-08T01:07:26Z"}
{"id":"588398722","pid":"","text":"<p>15.07 9:00-10:40 аудио вчерашнего подкаста недоступно.</p>","user":{"name":"RUVATA","id":"disqus_da39a3ee5e6b4b0d3255bfef95601890a
fd80709","picture":"","admin":false,"ip":"9d8380db5276d67ecab2cc3971430993c659fb97"},"locator":{"site":"radiot","url":"http://radio-t.com/p/2012/07/14/podcast-297/"},"s
core":0,"votes":{},"time":"2012-07-15T06:47:01Z"}

Учесть надо следущее:

  • id и parentid стоит модифицировать для того, чтоб избежать возможных коллизий. Можно просто добавить префих, типа idb_
  • в user.id надо тоже добавить префикс
  • ip можно вообще игнорировать
  • locator надо строить так, чтоб url показывал на пост и locator.site в radiot

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

UPD: добавил исходный файл. Теперь мне в виде результата код для преобразования не особо и нужен (разве что по мелкому подправить), но конченый файл.

Кол-во комментариев появляется позже слова "комментариев"

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

Демонстрация: https://youtu.be/7leUZkUCoHc

Предлогаю вообще не показывать слово "комментариев" пока кол-во комментариев не будет доступно.

Добавить ссылки на телеграм каналы и чаты

У нас есть 3 таких, и их стоит добавить на страницу https://radio-t.com/feeds/

  1. Подписка на новые выпуски - https://t.me/radio_t_podcast
  2. Чат подкаста - не знаю как взять на него ссылку, она видна при подписке на канал выпусков
  3. Комментарии к сайту подкаста - https://t.me/radiot_comments

Добавить на страницу подкаста ссылку на страницу следущего подкаста

На странице подкаста X есть ссылки "← Темы для X" и "Темы для X+1 →". Это, наверное, хорошо, но если хочется перейти на следущий подкаст - надо перейти на страницу "Темы для X+1", просткроллить в самый низ комментариев, и там уже найти нужную ссылку "Радио-Т X+1 →". Неудобно.

Хотелось бы сразу перейти, а не через темы лезть.

В новой теме плохо читается вложенность коментариев

В старом интерфейсе комментарии были выровнены относительно левого края и первый уровень коментариев было четко видно. В новой теме #26 коментарии сдвинулись и теперь вложенность стала плохо читаться.

Например вот тут можно подумать что комментарии 1го уровня:
Screenshot from 2019-06-17 12-38-04

Когда просматриваю коментарии в новом интерфейсе, частенько принимаю коментарии 2го уровня за первый. Сейчас внимательно просмотрел скриншот, у второго уровня есть стрелочка, но это слишком неявно.

Возможно issue к remark42, не знаю куда правильнее отнести

Блок "поделиться в соц сетях"

image

Кажется, что эти кнопки должны предлагать поделиться ссылкой на конкретный пост, но сейчас все указывают на главную страницу.
Возможно, что этой библиотеке ilyabirman-likely не хватает параметров, и она дефолтится на текущий урл.

Проигрывание в браузере прерывается

Я получил на это пару жалоб. Вообще не уверен явление локальное или что-то с нашей стороны. Однако, я смутно припоминаю что много лет нззад специлаьно для хрома я какую-то магию добавлял в nginx конфиг что бы проигрывание файла не прерывалось.

Если кто помнит/знает что надо сделать - дайте знать.

Конфиги нодов в этом репо не видно, но никаких хитростей там нет:

server_names_hash_bucket_size 132;

server {
    listen 80;
    server_name _;

    error_page 404 /404.html;

    location = /404.html {
        root /www;
        internal;
    }

    location / {
        rewrite ^(.*) http://www.radio-t.com/ redirect;
    }

    location /rtfiles/ {
        error_page 404 = @archive_radiot;
	alias	/srv/btsync/radiot.bts/;
    }

    location /online {
        proxy_buffering           off;
        proxy_ignore_client_abort off;
        proxy_intercept_errors    on;
        proxy_next_upstream       error timeout invalid_header;
        proxy_redirect            off;
        proxy_set_header          X-Host $http_host;
        proxy_set_header          X-Forwarded-For $remote_addr;
        proxy_connect_timeout     60;
        proxy_send_timeout        81600;
        proxy_read_timeout        81600;

        proxy_pass http://icecast:8000/stream;
    }

    location /ostats {
        proxy_pass http://icecast:8000/status.xsl;
    }

    location /stream.m3u {
        rewrite ^(.*) /online redirect;
    }

    location @archive_radiot {
		rewrite ^/rtfiles(.*).mp3$ http://archive.rucast.net/radio-t/media$1.mp3 redirect;
    }

    location /pirates/ {
        error_page 404 = @archive_pirates;
	alias	/srv/btsync/pirates.bts/;
    }

    location @archive_pirates {
	rewrite ^/pirates(.*).mp3$ http://archive.rucast.net/pirates/media$1.mp3 redirect;
    }

    access_log   /var/log/nginx/radio-t.log;
}

"Part of this page is not secure" при включении онлайн-трансляции с главной https://radio-t.com

Не знаю на сколько критично и существует ли стрим https, но когда находишься на главной radio-t.com, все секьюрно и зелёненько. Когда включаешь онлайн-стрим, замочек становится жёлтым со следующим комментарием:

Loading mixed (insecure) display content “http://stream.radio-t.com/” on a secure page[Learn More] radio-t.com
Loading mixed (insecure) display content “http://n9.radio-t.com/online” on a secure page[Learn More]

До #26, вроде, не было возможности слушать с главной страницы radio-t.com

Дата и время наезжают на комментарий

Проблема в темах к выпуску и в комментариях под выпуском.
При просмотре с телефона (или при достаточном сужении окна сайта), дата и время перемещаются под имя комментатора и наезжают на сам комментарий.
98ECF07B-44D7-446D-ADA7-F33273B653A6

Осовременнить дизайн?

То, что у нас сейчас (в визуальном смысле) было мной творчески адаптированно много лет назад из какой-то темы WP и потом перехало на octopress и hugo. Функционально вроде все в порядке, и все, что я планировал там показывать, показывается. Однако, возможно пришло время обновить дизайн? Лично я не уверен, что такая необходимость действительно есть, но мои вкусы они минималистичны и, возможно, отстали от модных трендов.

В качестве конечного результата хотелось бы получить PR со всеми изменениями CSS и всего того, что еще надо. Перед тем, как менять утвердите со мной (прямо в этом тикете) мокап, чтоб не тратить время зря.

инструкция для тех, кто не знает как собрать сайт и посмотреть на результат:

  • склонировать этот репо: git clone https://github.com/radio-t/radio-t-site.git
  • установить hugo
  • cd radio-t-site/hugo
  • запустить hugo server и пойти на url что он скажет

В новом дизайне невозможно скачать запись без лишних переходов

На мой взгляд, новый вариант сайта несколько неудобен.

Раньше можно было зайти на сайт, и прямо под плеером скачать запись подкаста. Теперь же для скачивания нужно сначала открыть страницу нужного выпуска подкаста, и уже там искать ссылку на аудио.

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

Проблемы с отображением navbar в маленьком viewport (Chrome)

Проблема: В браузере Chrome есть проблемы с отображением навигационного меню при маленьких значениях viewport. См. скрины.

Пример проблемы:

Browser: Chrome / Version 78.0.3904.87 (Official Build) (64-bit)


Browser: Android Chrome / Version 78.0.3904.62


В других браузерах все в порядке:

Browser: Safari / Version 12.1.2 (14607.3.9)


Browser: Firefox / Version 70.0.1 (64-bit)


В прочих других мобильных браузерах не Chrome(Blink)-base все работает как положено.

Отладочные логи (счетчика?) на https://radio-t.com

Каждую секунду в логи выводится, видимо, отладочная информация, судя по всему, показывает html-элемент со счетчиком до начала эфира. Нужны ли это логи на продакшн-окружении?
изображение

Темная тема сайта

Это было в начальных планах на редизайн #26 но в релиз не попало. Хотельсь бы темную которая сама бы выбиралась на OS и браузерах где такое поддерживается и которую можно было бы переопределить ручным выбором.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.