Markdown for image resize by px, not percent

Quick image resizing and markdown image dimensions talked about the new “Ninja :crossed_swords: feature” to add ,25% for image scaling.

That’s great, if you know the percentage that results in the px you want, and if you have consistently sized or few embedded images.

It’s not so great if you have a number of images of somewhat varying original size and you want them all to scale to (for instance) 250px width.

Changing a number of such images from markdown to HTML markup is also painful.

Any chance this Ninja feature could be enhanced to accept % or px specifications for the scaling?

1 лайк

That is already supported:

![very good|25x19](//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/0/3/03741c9f3eafd7fc8ccd791a6971a2c0d52783e4.jpg)

produces

very good

while

![very good|250x190](//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/0/3/03741c9f3eafd7fc8ccd791a6971a2c0d52783e4.jpg)

produces

very good

7 лайков

You can’t just specify the width though.

4 лайка

I had misunderstood the meaning of the |250x190]. I thought that was meant to convey the size of the original, not that it was meant as a scaling.

(Is there one place to look to find documentation of all Markdown-for-Discourse?)

But yes, my wish here is to specify the width to scale to, and have the height be scaled proportionally.

3 лайка

I am pretty warm to adding support for:

|250x] and |x190] in fact I like this little bit of ninja so much that I will get the change slotted. @pmusaraj can you add this support?

14 лайков

This is now done and in tests-passed.

10 лайков

:thinking: I am having a bit of trouble with this…

![image|100x](upload://dHF5P9JKjZN0gahVLRQmDIEqo8C.jpeg)
image|100x

![image|x100](upload://dHF5P9JKjZN0gahVLRQmDIEqo8C.jpeg)
image|x100

1 лайк

Not performant! :rofl:

4 лайка

Hmm, this is set up to respond to this syntax ![image|354x356,100x](upload://dHF5P9JKjZN0gahVLRQmDIEqo8C.jpeg) works:

image

I kept this consistent with percentage scaling, which responds to [image|300x100,50%].

1 лайк

The percentage scaling ninja markup no longer makes mental sense to me.

[image|300x100,50%] says “show this image (actual size unknown), at 300px by 100px, but wait, scale that by 50%, so show it at 150px by 50px”.

I really don’t understand the point of this kind of notation – because you can just set the pixel sizing however you want it, so why not do the 50% scaling in the first place?

I do not want to specify one display size followed by a second display size, and cannot imagine why anyone would. I just want to say “show this image (of unknown original size) at 150px width, with proportionally scaled height” or “show this image (of unknown original size) at 150px height, with proportionally scaled width”.

2 лайка

тот же вопрос, который я хочу задать: просто укажите картинку шириной 200 пикселей, а высоту пропустите

Мне бы тоже хотелось такую возможность.

Кратко напомню: текущий синтаксис для масштабирования изображений (с пробелами для удобства чтения) выглядит так:

! [ ИМЯ_ИЗОБРАЖЕНИЯ | ШИРИНАxВЫСОТА, ПРОЦЕНТ_МАСШТАБИРОВАНИЯ ] ( РАСПОЛОЖЕНИЕ_ИЗОБРАЖЕНИЯ )

Мне кажется, было бы замечательно, если бы можно было масштабировать ТОЛЬКО ширину ИЛИ высоту, вводя слово AUTO для соответствующего измерения.

Например: допустим, я хочу, чтобы это изображение было шириной 150 пикселей, но не хочу вычислять соотношение сторон, чтобы подогнать высоту под правильное разрешение…
![very good|250x190](//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/0/3/03741c9f3eafd7fc8ccd791a6971a2c0d52783e4.jpg)

Мне бы очень понравилось, если бы мы могли заменить ШИРИНУ на 150, а ВЫСОТУ на auto, как показано ниже…
![very good|150xauto](//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/0/3/03741c9f3eafd7fc8ccd791a6971a2c0d52783e4.jpg)

Что думаете, @Falco?

Я по-прежнему считаю, что исходное предложение немного проще объяснить.

Вставить:

![image|494x500](upload://jRgaIl6YH5la4m5rkLnkJIa6XYV.jpeg)

Затем отредактировать до:

![image|100x](upload://jRgaIl6YH5la4m5rkLnkJIa6XYV.jpeg)

Это сейчас работает согласно этому, но объяснить немного сложнее:

![image|494x500,100x](upload://jRgaIl6YH5la4m5rkLnkJIa6XYV.jpeg)

@jord8on всё это уже работает, вот синтаксис, который вам нужен:

[очень хорошо|250x190,150x]

4 лайка

Ааааааа, @сам, спасибо за перенаправление. Текущий функционал просто ПРЕВОСХОДНЫЙ, если я правильно понял.

Давайте проверим, правильно ли я всё усвоил…

  • «x» обозначает «auto»
  • Если использовать «x» перед числом, это будет обозначать ширину. Например: x150 = "width: auto; height: 150px;"
  • Если использовать «x» после числа, это будет обозначать высоту. Например: 150x = "width: 150px; height: auto;"

––––––––––––––––––––––––––––––––––––

Давайте проверим это на этом изображении с параметрами "width:600px; height: 200px;".

Синтаксис встраивания по умолчанию:

![we love discourse|600x200](upload://gvBLukUHTZLicvbieEMWVlBj9OK.png)

выглядит так…

Следующее изображение масштабировано до ширины 200 пикселей (высота = x = auto):

![we love discourse|600x200,200x](upload://gvBLukUHTZLicvbieEMWVlBj9OK.png)

выглядит так:

Следующее изображение масштабировано до высоты 100 пикселей (ширина = x = auto):

![we love discourse|600x200,x100](upload://gvBLukUHTZLicvbieEMWVlBj9OK.png)

выглядит так:

––––––––––––––––––––––––––––––––––––

Кажется, всё работает как по маслу. Так рад, что наконец понял и теперь могу этим пользоваться!

Спасибо, @сам, за быстрый ответ! :raising_hands:

9 лайков