I am using the Symfony CMS and it uses Markdown for article writing. I need to do a blockquote of a quote from Benjamin Franklin and would like to have the quote followed by a citation beneath it, but right now all it does is blockquote the whole line. How does one do this in markdown syntax?
6 Answers
> The secret to creativity is knowing how to hide your sources.
> -- <cite>[Albert Einstein][1]</cite>
[1]: http://www.quotedb.com/quotes/2112
If you have a style manual, use its guidelines to determine exactly where to place the citation, etc.
Output of Markdown + Smartypants for the above is
The secret to creativity is knowing how to hide your sources. -- Albert Einstein
Adding another sample here for reference. Generated from https://en.wikipedia.org/wiki/Special:CiteThisPage
> Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.
>
> --- [Test-driven development. (2016, November 20). In Wikipedia, The Free Encyclopedia. Retrieved 23:45, November 20, 2016](https://en.wikipedia.org/w/index.php?title=Test-driven_development&oldid=750634597)
Produces the following:
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.
> Quote
— Benjamin Franklin
According to the HTML Living Standard, attribution for the quotation must be placed outside the blockquote
element.
Attribution for the quotation, if any, must be placed outside the blockquote element.
— HTML Standard: 4.4.4. The blockquote
element
Note that the cite
element represents the title of the work and must not be used to mark up people's names. For more detail check out HTML Standard: 4.5.6 The cite
element.
Instead of the hyphen, it is common to use the em dash (U+2014). Many Markdown parsers support Unicode, which means you can write the em dash directly, instead of using HTML entities. Writing such characters directly improves readability, more tools will know what you want and not panic, and your document might be more portable as you are not bounding yourself to HTML.
1. Since any quote it is suppose to have a source, even if it is unknown.
2. Since a markdown
> Quote
is rendered as <blockquote><p>Quote</p></blockquote>
and
> Quote1
>
> Quote2
is rendered as
<blockquote>
<p>Quote1</p>
<p>Quote2</p>
</blockquote>
My solution to this is always take the last <p></p>
as source and handle it by css (in my case SCSS):
blockquote {
p {
display: inline;
&:first-of-type {
quotes: '\201C' '\201D' '\2018' '\2019';
&::before {
content: open-quote;
margin-right: 0.1rem;
}
}
&:last-of-type {
quotes: '\201C' '\201D' '\2018' '\2019';
font-style: italic;
&::before {
content: close-quote "\000A" "\2014" " ";
white-space: pre;
margin-left: 0.1rem;
font-style: normal;
}
}
// In case of a quote without a source.
&:only-of-type {
font-style: normal;
quotes: '\201C' '\201D' '\2018' '\2019';
&::before {
content: open-quote;
margin-right: 0.1rem;
}
&::after {
content: close-quote;
margin-left: 0.1rem;
}
}
}
}
The \000A
it the new line unicode character css format, it help to make the source in appear in the next line, if you don't want, just remove it and add some spaces there. The others are also unicode character css format.