Можно ли использовать разметку HTML, чтобы «заставить» BBCode вставлять изображения с определенными размерами?

Я провожу довольно много времени, задавая вопросы и отвечая на вопросы во многих сообществах, ориентированных на образование / обучение. Более поздние форумы используют Markdown, но все еще существует довольно много форумов, использующих BBCode в качестве интерфейса разметки, включая мою школу.

Чтобы избавить себя от головной боли, я использую программное обеспечение для редактирования уценки (Obsidian), чтобы написать свои вопросы/ответы/ответы. В тех случаях, когда местом назначения является форум BBCode, я хочу использовать сценарий оболочки, который принимает файл Markdown в качестве входных данных и создает версию BBCode, сохраняя вывод в моем буфере обмена.

Следующий фрагмент может быть файлом уценки, я включаю любые медиафайлы (изображения или гифки), которые мне нужны, вместе с размерами:

One thing 1PP (1 Point Perspective) and 2PP (2 Point Perspective) will always have in common are the vertical lines, they are always true verticals:
![500x100](https://i.imgur.com/lTH5gg6.gif)
The above(1PP), the Y-axis of the box are paralell with the red, vertical lines. Its also the same for the below (2PP), the Y-axis of the box are paralell with the red, vertical lines
![500x100](https://i.imgur.com/ObMTgv0.gif)

Сценарий просто проанализирует файл Markdown и вернет вывод, подобный следующему:

One thing 1PP (1 Point Perspective) and 2PP (2 Point Perspective) will always have in common are the vertical lines, they are always true verticals:
[imgwh=500,100]https://i.imgur.com/lTH5gg6.gif[/imgwh]    
The above(1PP), the Y-axis of the box are paralell with the red, vertical lines. Its also the same for the below (2PP), the Y-axis of the box are paralell with the red, vertical lines:
[imgwh=500,100]https://i.imgur.com/ObMTgv0.gif[/imgwh]   

Я написал 90% сценария оболочки и работает очень хорошо. Я застрял в поиске согласованных средств для изменения размера изображений в BBCode. После некоторых поисков я узнал, что теги для изменения размера изображений не являются стандартной функцией на форумах, использующих BBCode. Например, один форум поддерживает изменение размера мультимедиа с помощью тега, такого как [imgwh] (пример выше), в то время как многие другие этого не делают, вы можете только разместить изображение.

При дальнейшем поиске я наткнулся на ЭТО решение, но оно не идеально, мне действительно нужно средство, позволяющее определять как ширину, так и высоту. Также я хочу избежать абстрагирования размеров от S, M, L и т. д.

Я также экспериментировал с FFMPEG/ImageMagick, чтобы изменить размер мультимедиа до желаемых размеров, прежде чем загружать их на веб-сайт. Результаты ужасны и очень медленны, особенно для файлов GIF. У меня нет быстрого компьютера, но у меня есть быстрый интернет.

Можно ли использовать разметку HTML, чтобы «заставить» BBCode вставлять изображения с определенными размерами? Я не знаю никакого HTML, но если бы это было возможно, я бы его выучил. Если нет, то есть ли веб-сайты для размещения изображений, на которых вы можете запросить размер изображения в самом URL-адресе, например:

https://i.imgur.com/lTH5gg6_W500xH100.gif

Любая помощь или просто указание меня в правильном направлении, будет принята с благодарностью!

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

HTML, конечно, может поместить изображение любого размера, который вы хотите, и стоит попробовать, например. <img src = "https://i.imgur.com/lTH5gg6.gif" width = "500" height = "100">.

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

Вы проверили это? Они используют оба

[img=100x50]

и

[img width = "100" height = "50"]

изменить размер.

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

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

Хе-хе, вы переоцениваете мою компетентность, тем не менее спасибо.

gaberiel__ 15.04.2023 17:56

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

Есть довольно много бесплатных, но, например, weserv действительно прост, очень быстр и надежен.

https://images.weserv.nl

Например, в Википедии есть это ужасное изображение размером 14 000 x 1 500 пикселей:

https://upload.wikimedia.org/wikipedia/commons/8/87/Chicago_Skyline_Hi-Res.jpg

Вы можете попросить изменить его размер до 500 пикселей следующим образом:

https://images.weserv.nl/?url=upload.wikimedia.org/wikipedia/commons/8/87/Chicago_Skyline_Hi-Res.jpg&w=500

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

https://images.weserv.nl/docs/quick-reference.html

  • Он будет обслуживать большинство изображений с задержкой всего в несколько миллисекунд.
  • Он использует cloudflare для кэширования и распространения по всему миру.
  • Очень дешевый запуск, поэтому он бесплатный и всегда будет бесплатным
  • Весь исходный код находится на github
  • Нет хранения данных после короткого периода кэширования
  • Хотя, сказав, что если изображение что-то сломает, они проведут расследование и могут увидеть ваш контент.

Другие вопросы по теме