English 中文(简体)
Citing the author of a blockquote using Markdown syntax
原标题:

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?

问题回答

Markdown has no dedicated citation syntax.

Your best bet is something like this:

> Quote here.
>
> -- <cite>Benjamin Franklin</cite>

which results in:

Quote here.

-- Benjamin Franklin

> 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

> 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.

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.

--- Test-driven development. (2016, November 20). In Wikipedia, The Free Encyclopedia. Retrieved 23:45, November 20, 2016

Every pure markdown answer on this page adds a line between the quote and the citation:

Which looks something like this.

— 0x263a

Or they do:

Something like this. — 0x263a

But if you don t want that extra newline and you want the citation to appear on a separate line from the quote:

"Like this."
— 0x263a

You can add a to the end of your quote.

> "Quote."
> — <cite>Author<cite>

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 "00A" "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 00A 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.

Personally I prefer nesting a blockquote in a blockquote.

Here is how I like doing it:

> Quote here.
>
>> <cite>Benjamin Franklin</cite>

The output varies on how you style everything, but using plain `ol github look like this, which I personally think looks great!

enter image description here

https://gist.github.com/nahtnam/63e3a14acd0f02313ec0





相关问题
Citing the author of a blockquote using Markdown syntax

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 ...

What markup language to store in a DB?

Related: How to store lightweight formatting (Textile, Markdown) in database? I want to store comment formatting in some markup language in our DB. However, we want to allow multiple formatting ...

Markdown vs. HTML in a CMS

I m working on a fairly large CMS-like app that includes a forum, wiki pages, etc. What whould you chose between Markdown and HTML? I m concerned about usability and the fact non-techie people will ...

PHP Markdown Question

I m using http://michelf.com/projects/php-markdown/ for my markdown library and my question is that if i edit and remove the functionality would this work Because the users that i have, are ...

markdown to HTML with customised WMD editor

For my application I customized slightly the way WMD behaves so when user enters empty lines, these are reflected in HTML output as <br /> s. Now I came to a point when I should store it ...

Python Markdown: Markdown Inside HTML Blocks

Is there an extra for Python Markdown that supports Markdown inside HTML block elements, e.g. div, p i.e. is there a way to convert this: <div id="content"> [Google](http://www.google.com) ...

热门标签