Предварительный просмотр Google Sheets: есть ли способ?

Я нашел несколько старых тем (почти 10 лет?) о предварительном просмотре Google Таблиц или об отсутствии такового. Есть ли способ заставить это работать сегодня?

Вот почему я спрашиваю.

В нашем сообществе мы отслеживаем важную информацию в Google Таблице. В Facebook предварительный просмотр связанной таблицы в посте фактически представляет собой снимок текущего состояния таблицы. Это очень удобно, потому что нам даже не обязательно открывать её, если цветовая кодировка в таблице дает нам достаточно информации (так часто и бывает).

Вот скриншот типичного поста, чтобы показать, что я имею в виду:

Ячейки с разными цветами дают нам обзор ситуации с первого взгляда, не нужно переходить по ссылке на Google Таблицу (если только мы не хотим посмотреть подробности).

Есть ли способ добиться такого рода «встраивания» без тем в Discourse?

On Google docs desktop, go to file → share, then publish → embed.

You can then paste the generated iframe into Discourse.

You must add the Google docs domain to the allowed iframe URLs in Discourse admin.

The result looks like this:

The window remains small so it’s not very practical…

6 лайков

Thanks! Definitely looks like it would do the trick. Do you know if there is any way of doing this on mobile too? I’d guess at least half of our members are « mobile only » :fearful:

1 лайк

Примечание: следующий текст был объединён (спасибо @merefield и @darkpixlz) из другой темы, которую я только что создал… с точно таким же вопросом, как и в декабре. Он выпал из моей памяти (авария на лыжах произошла почти год назад, друзья, но я до сих пор не полностью восстановился для некоторых вещей, очевидно — спасибо за ваше терпение).

В моём сообществе у каждого участника есть таблица отслеживания, которую они обычно делятся при публикации запроса о помощи. Сейчас на Facebook работает «предпросмотр», показывающий снимок последней части таблицы:

Это очень полезно (хотя бы одно, за что Facebook стоит использовать!), поскольку даёт нам обзор необходимых данных даже без перехода к самой таблице. Конечно, мы часто кликаем, но это позволяет получить общее представление о том, с какой ситуацией мы имеем дело.

Я прочитал здесь, что для работы onebox в Discourse документ Google должен быть опубликован. Я попробовал сделать это со своим документом, но, похоже, это не работает:

Даже указано, что лист приватен, хотя это не так! Вот результат при использовании ссылки «поделиться ссылкой» — та же ситуация:

Есть ли способ получить что-то лучшее? Это фундаментальный аспект нашей работы: главная цель нашей деятельности — помогать людям отслеживать и интерпретировать уровень глюкозы в крови, который они измеряют дома, и эта модель таблицы является нашим «волшебным» инструментом для этого.

Я предполагаю, что если Facebook может отображать осмысленный снимок таблицы Google, то и в Discourse должен быть способ это реализовать?

2 лайка

(оу, неприятно, удачи с восстановлением!!! :heart:)

помогло ли предложение от @Canapin?

1 лайк

Давайте посмотрим: это «как-то работает», но iframe действительно крошечный :-/ — боюсь, в таком виде он практически непригоден для использования:

Есть ли способ исправить размер iframe?

Если возможно, дайте ссылку на этот пост. Я смогу проверить CSS-классы и сказать, можно ли это сделать.

2 лайка

Если нужно что-то сделать с помощью небольшого количества CSS — это отличная новость!

1 лайк

Если это сработает, я пытаюсь понять, как сделать это простым для моих не технарей. Есть ли способ определить своего рода «пользовательский шорткод», чтобы они могли один раз вставить код встраивания в свою электронную таблицу (например, в пользовательское поле), а затем просто писать что-то вроде %my_spreadsheet% (или что-то подобное) в своём посте, чтобы iframe отображался?

Я быстро посмотрел: специального класса для встраивания iframe с документами нет, но я заметил, что его max-width был установлен в 100%, но не реальная ширина. Если задать width: 100%, он становится шире, а высоту можно выбрать на ваше усмотрение.

.post__regular .cooked {
    iframe {
      max-width: 100%;
      max-height: min(1000px, 200vh);
      width: 100%;
      height: 500px;
    }
}
2 лайка

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

Да, я просто добавил CSS в компонент, который создал для таких небольших «настроек сообщества», спасибо!

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

1 лайк

Решение с iframe теперь действительно очень удобно, так как оно имеет правильный размер: мы можем прокручивать таблицу, чтобы увидеть остальные значения, не открывая её. И это даже отлично работает на мобильных устройствах! Спасибо, это действительно значительная часть проблемы решена.

К сожалению, если не углубляться в более продвинутый JavaScript, я не вижу, как это можно реализовать. Я не очень хорошо знаком с JS API Discourse, но кажется, что всё сводится к тому, чтобы взять URL, обернуть его в тег <iframe src="..."></iframe> и заменить /edit на /pubhtml?widget=true&amp;headers=false.

Я бы порекомендовал создать обучающий пост, чтобы проинформировать участников вашего сообщества о том, как правильно экспортировать данные, если это вызывает серьёзные опасения. Либо вы всегда можете запросить официальную поддержку onebox в канале Contribute > Feature.

1 лайк

У меня не так много знаний о JS, но если вы видите возможное решение в этом направлении, я готов в этом разобраться.
Отклоняясь немного от оригинальной темы, но я думаю, что моё «идеальное решение» заключалось бы в возможности добавить кнопку на панель инструментов, которая «добавляет электронную таблицу пользователя» :sweat_smile:.

Обязательно опубликую инструкции и учебное пособие, но моя аудитория — это в основном «широкая публика», и даже с учебным пособием такие вещи представляют собой сложную задачу.

1 лайк

Да, это вполне возможно, просто я не представляю, чтобы кто-то делал это бесплатно в теме поддержки. Уверен, если у вас есть немного свободных средств, кто-то сможет помочь вам в канале Marketplace или в другом месте!

1 лайк

Отсюда и мечта! :wink:

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

1 лайк

Блин, хотел отметить оба поста — твой и Canapin — как решение, но можно отметить только один :-/

1 лайк

А как насчёт кнопки в редакторе, которая добавляет iframe при нажатии? Это вполне реализуемо в компоненте темы.

Затем можно заменить applySurround на addText и напрямую добавить содержимое iframe.

1 лайк

Будет ли это настраиваться для каждого пользователя?