我刚开始接触Markdown。我喜欢它,但有一件事困扰着我:如何使用Markdown更改图像的大小?

文档仅为图像提供以下建议:

![drawing](drawing.jpg)

如果可能的话,我希望图片也居中。我问的是Markdown将军,而不仅仅是GitHub是如何做到的。


当前回答

当使用Flask时(我将其用于平面页面)。。。我发现,在markdown调用中的扩展中显式地启用(由于某种原因,默认情况下不是这样)“attr_list”可以实现这一点,然后可以使用属性(对于访问CSS也非常有用-例如,class=“my class”…)。

FLATPAGES_HML_RENDERER=prerender_jinja

以及功能:

def prerender_jinja(text):
    prerendered_body = render_template_string(Markup(text))
    pygmented_body   = markdown.markdown(prerendered_body, extensions=['codehilite', 'fenced_code', 'tables', 'attr_list'])
    return pygmented_body

然后在Markdown中:

![image](https://octodex.github.com/images/yaktocat.png "This is a tooltip"){: width=200px}

其他回答

人们可以利用alt属性,该属性可以在几乎所有Markdown实现/渲染中设置,以及基于属性值的CSS选择器。优点是可以轻松定义一整套不同的图片大小(以及其他属性)。

标记:

![minipic](mypic.jpg)

CSS:

img[alt="minipic"] { 
  max-width:  20px; 
  display: block;
}

我编写了在Jekyll中使用自定义大小img标记的简单标记解析器的脚本。

https://gist.github.com/nurinamu/4ccf7197a1bdfb0d7079

{% img /path/to/img.png 100x200 %}

可以将文件添加到_plugins文件夹。

对于R-Markdown,以上两种解决方案都不适用于我,所以我转向了常规的LaTeX语法,这很好。

\begin{figure}
 \includegraphics[width=300pt, height = 125 pt]{drawing.jpg}
\end{figure}

然后,可以使用例如\ begin{center}语句将图像居中。

如果您正在为PanDoc编写MarkDown,可以执行以下操作:

![drawing](drawing.jpg){ width=50% }

这会将style=“width:50%;”添加到HTML<img>标记中,或将[width=0.5\textwidth]添加到LaTeX中的\includegraphics中。

资料来源:http://pandoc.org/MANUAL.html#extension-链接属性

在Tiemes答案的基础上,如果您使用CSS 3,可以使用子字符串选择器:

此选择器将匹配以“-fullwidth”结尾的alt标记的任何图像:

img[alt$="-fullwidth"]{
  width:  100%;
  display: block;
}

然后,您仍然可以使用alt标记来描述图像。

上面的标记可能类似于:

![Picture of the Beach -fullwidth](beach.jpg)

我在Ghost markdown中使用过这个,而且效果很好。