Как разместить кнопку в углу экрана?

Привет, сообщество!
Я пытаюсь разобраться, как создать плагин для Discourse. Сейчас я пытаюсь понять, как добавить кнопку в угол экрана и как обрабатывать запрос при её нажатии. Как это сделать? Это очень просто, но я не могу найти решение.

Также я видел в некоторых плагинах вызовы вроде includePostAttributes и decorateWidget. Где можно посмотреть список всех методов, которые разрешено использовать в Discourse?

Не могли бы вы прислать скриншот того места, где вы хотите добавить эту кнопку, и описать, что должно происходить при её нажатии?

Кажется, вы имеете в виду API плагинов. Вы можете найти все методы этого API — вместе с примерами — здесь:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/lib/plugin-api.js

Более подробные объяснения некоторых из самых популярных методов этого API также доступны здесь:

Спасибо, я изучу список методов.
Скриншот:

Как видите, я добавил маленький кружок в углу, который представляет собой кнопку. Кнопка должна «парить» в воздухе (то есть при прокрутке вниз она должна оставаться в углу). Логику, которая будет выполняться при клике, я постараюсь добавить сам, но для большей ясности сейчас я пытаюсь понять, как открыть всплывающее окно с предупреждением (просто для практики).

То, что вы ищете, называется position: fixed — это свойство CSS. Подробнее о позиционировании в CSS можно прочитать здесь:

position: fixed заставляет элемент оставаться на том же месте (относительно области просмотра), даже если вы прокручиваете страницу вниз.

Я не совсем уверен, что именно вы пытаетесь достичь, но если вам нужно, чтобы всплывающее окно с предупреждением открывалось только при клике на кнопку, то вам понадобится обработчик событий. Подробнее о них можно прочитать здесь:

Есть ли какая-то конкретная проблема, которую вы пытаетесь решить, и с которой мы можем вам помочь?

Ещё раз спасибо за информацию. Я знаком со всем этим. Думаю, моя проблема в том, что я не понимаю, куда должны помещаться CSS-файлы. У меня есть файлы Ruby и JS, но куда же должны идти файлы CSS/SASS?

Отлично :+1:

Так как вы упомянули, что у вас уже есть файлы Ruby, я предполагаю, что вы работаете над плагином, верно?

Итак, чтобы ответить на ваш вопрос:

Я бы порекомендовал вам посмотреть на структуру папок некоторых из наших существующих официальных плагинов, например, вот этот:

или вот этот:

Если вы посмотрите на них, то заметите, что стили SCSS всегда размещаются в

_ROOT_/assets/stylesheets/

и именно туда должны помещаться ваши файлы SCSS, если вы создаете плагин.