mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 01:48:04 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			382 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			382 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
include _functions
 | 
						|
 | 
						|
//-  Mixins
 | 
						|
//- ============================================================================
 | 
						|
 | 
						|
//- Sections for content pages
 | 
						|
    id    - [string] id, can be headline id as it's being prefixed (optional)
 | 
						|
    block - section content (block and inline elements)
 | 
						|
 | 
						|
mixin section(id)
 | 
						|
    section.section(id=(id) ? 'section-' + id : '')&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Flexbox grid to align children elements
 | 
						|
    ...style  - [strings] flexbox CSS classes without prefix (optional)
 | 
						|
    block     - container content (block and inline elements)
 | 
						|
 | 
						|
mixin grid(...style)
 | 
						|
    .grid(class=prefixArgs(style, 'grid--'))&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
mixin grid-col(...style)
 | 
						|
    .grid-col(class=prefixArgs(style, 'grid-col--'))&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Aside
 | 
						|
    headline  - [string] Headline of aside (optional)
 | 
						|
    block     - aside content (inline elements)
 | 
						|
 | 
						|
mixin aside(headline)
 | 
						|
    span.aside(data-label=headline)&attributes(attributes)
 | 
						|
        span.aside-body
 | 
						|
            block
 | 
						|
 | 
						|
 | 
						|
//- Paragraphs
 | 
						|
    block - paragraph content (inline elements)
 | 
						|
 | 
						|
mixin lead
 | 
						|
    p.text-lead&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Various text styles
 | 
						|
    block - text (inline elements)
 | 
						|
 | 
						|
mixin example
 | 
						|
    p.text-example&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
mixin source
 | 
						|
    span.text-source&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
mixin label(...style)
 | 
						|
    span(class=(style != '') ? prefixArgs(style, 'label-') : 'label')&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Headings with optional permalinks
 | 
						|
    id      - [string] unique id (optional, no permalink without id)
 | 
						|
    source  - [string] link for source button (optional)
 | 
						|
    block   - headline text (inline elements)
 | 
						|
 | 
						|
mixin headline(level, id, source)
 | 
						|
    if level == 2
 | 
						|
        +h2(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
    else if level == 3
 | 
						|
        +h3(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
    else if level == 4
 | 
						|
        +h4(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
    else if level == 5
 | 
						|
        +h5(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
    else
 | 
						|
        +h6(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
mixin h1(id, source)
 | 
						|
    h1(id=id)&attributes(attributes)
 | 
						|
        +permalink(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
mixin h2(id, source)
 | 
						|
    h2(id=id)&attributes(attributes)
 | 
						|
        +permalink(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
mixin h3(id, source)
 | 
						|
    h3(id=id)&attributes(attributes)
 | 
						|
        +permalink(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
mixin h4(id, source)
 | 
						|
    h4(id=id)&attributes(attributes)
 | 
						|
        +permalink(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
mixin h5(id, source)
 | 
						|
    h5(id=id)&attributes(attributes)
 | 
						|
        +permalink(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
mixin h6(id, source)
 | 
						|
    h6(id=id)&attributes(attributes)
 | 
						|
        +permalink(id, source)
 | 
						|
            block
 | 
						|
 | 
						|
mixin permalink(id, source)
 | 
						|
    if id
 | 
						|
        a.permalink(href='#' + id)
 | 
						|
            block
 | 
						|
 | 
						|
    else
 | 
						|
        block
 | 
						|
 | 
						|
    if source
 | 
						|
        +button('secondary', 'small', 'source')(href=source target='_blank') Source
 | 
						|
 | 
						|
 | 
						|
//- Button
 | 
						|
    element   - [string] specifies HTML element, 'button' or 'link'
 | 
						|
    ...style  - [strings] button CSS classes without prefix (optional)
 | 
						|
    block     - button text (inline elements)
 | 
						|
 | 
						|
mixin button(type, ...style)
 | 
						|
    - var classname = 'button-' + type + ' ' + ((style) ? prefixArgs(style, 'button--') : '')
 | 
						|
 | 
						|
    a.button(class=classname)&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
mixin form-button(type, ...style)
 | 
						|
    - var classname = 'button-' + type + ' ' + ((style) ? prefixArgs(style, 'button--') : '')
 | 
						|
    button(class=classname)&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Input
 | 
						|
    placeholder - [string] placeholder for input field (optional)
 | 
						|
    value       - [string] value of input field (optional)
 | 
						|
 | 
						|
mixin input(placeholder, value)
 | 
						|
    input.input(placeholder=placeholder value=value)&attributes(attributes)
 | 
						|
 | 
						|
 | 
						|
//- Icon
 | 
						|
    name  - [string] icon name, refers to CSS classes
 | 
						|
    size  - [string] 'medium' or 'large' (optional)
 | 
						|
    type  - [string] 'button' (optional)
 | 
						|
    block - description, if as a text node to the icon element it prevents line 
 | 
						|
            breaks between icon and text (inline elements)
 | 
						|
 | 
						|
mixin icon(type, ...style)
 | 
						|
    span(class='icon-' + type + ' ' + prefixArgs(style, 'icon--') aria-hidden="true")&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Image for illustration purposes
 | 
						|
    file    - [string] file name (in /img)
 | 
						|
    alt     - [string] descriptive alt text (optional)
 | 
						|
    caption - [string] image caption (optional)
 | 
						|
 | 
						|
mixin image(file, alt, caption)
 | 
						|
    figure.image-container&attributes(attributes)
 | 
						|
        img(src='img/' + file alt=alt)
 | 
						|
 | 
						|
        if caption
 | 
						|
            figcaption.text-caption=caption
 | 
						|
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Illustrated code view
 | 
						|
    title - [string] title of window
 | 
						|
 | 
						|
mixin code-demo(title)
 | 
						|
    .x-terminal&attributes(attributes)
 | 
						|
        .x-terminal-icons: span
 | 
						|
        .x-terminal-title=title
 | 
						|
        +code.x-terminal-code
 | 
						|
            block
 | 
						|
 | 
						|
 | 
						|
//- Data table
 | 
						|
    head      - [array] column headings (optional, without headings no table 
 | 
						|
                head is displayed)
 | 
						|
     ...style  - [strings] table CSS classes without prefix (optional)
 | 
						|
    block     - only +row (tr)
 | 
						|
 | 
						|
mixin table(head, ...style)
 | 
						|
    table.table(class=prefixArgs(style, 'table--'))&attributes(attributes)
 | 
						|
 | 
						|
        if head
 | 
						|
            tr.table-row
 | 
						|
                each column in head
 | 
						|
                    th.table-head-cell=column
 | 
						|
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Data table row
 | 
						|
    block - only +cell (td)
 | 
						|
 | 
						|
mixin row(...style)
 | 
						|
    tr.table-row(class=prefixArgs(style, 'table-cell--'))&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Data table cell
 | 
						|
    block - table cell content (inline elements)
 | 
						|
 | 
						|
mixin cell(...style)
 | 
						|
    td.table-cell(class=prefixArgs(style, 'table-cell--'))&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- General list (ordered and unordered)
 | 
						|
    type  - [string] 'numbers', 'letters', 'roman' (optional)
 | 
						|
    start - [integer] starting point of list (1 = list starts at 1 or A)
 | 
						|
    block - only +item (li)
 | 
						|
 | 
						|
mixin list(type, start)
 | 
						|
    if type
 | 
						|
        ol.list(class='list--' + type style=(start === 0 || start) ? 'counter-reset: li ' + (start - 1) : '')&attributes(attributes)
 | 
						|
            block
 | 
						|
 | 
						|
    else
 | 
						|
        ul.list.list--bullets&attributes(attributes)
 | 
						|
            block
 | 
						|
 | 
						|
 | 
						|
//- List item
 | 
						|
    block - item text (inline elements)
 | 
						|
 | 
						|
mixin item
 | 
						|
    li.list-item&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
 | 
						|
//- Blockquote
 | 
						|
    source - [string] quote source / author (optional)
 | 
						|
    link   - [string] link to quote source (only with source, optional)
 | 
						|
    block  - quote text (inline elements)
 | 
						|
 | 
						|
mixin quote(source, link)
 | 
						|
    blockquote.quote&attributes(attributes)
 | 
						|
        p.quote-text
 | 
						|
            block
 | 
						|
 | 
						|
            if source && link
 | 
						|
                |  #[a.quote-source(href=link target='_blank')=source]
 | 
						|
 | 
						|
            else if source && !link
 | 
						|
                .quote-source  !{source}
 | 
						|
 | 
						|
 | 
						|
//- Pullquotes with optional 'tweet this' function
 | 
						|
    tweet - [string] text to be tweeted (optional)
 | 
						|
    block - pullquote text (inline elements, only shown if no tweet text)
 | 
						|
 | 
						|
mixin pullquote(tweet)
 | 
						|
    blockquote.quote&attributes(attributes)
 | 
						|
        
 | 
						|
        p.quote-text-strong
 | 
						|
            if tweet
 | 
						|
                | !{tweet} #[a.quote-source(href=twitterShareUrl(current.path, tweet) target='_blank') Tweet this]
 | 
						|
 | 
						|
            else
 | 
						|
                block
 | 
						|
 | 
						|
 | 
						|
//- Code block
 | 
						|
    use as +code(args). to preserve whitespace and prevent code interprettion
 | 
						|
    language  - [string] language for syntax highlighting (optional, default: 
 | 
						|
                'python', see Prism for options: http://prismjs.com)
 | 
						|
    label     - [string] code block headline (optional)     
 | 
						|
    block     - code text (inline elements)  
 | 
						|
 | 
						|
 | 
						|
mixin code(language, label)
 | 
						|
    pre.code-block(class='lang-' + (language || default_syntax) data-label=label)&attributes(attributes)
 | 
						|
        code.code-inline
 | 
						|
            block
 | 
						|
 | 
						|
 | 
						|
//- Infobox for notes and alerts
 | 
						|
    label - [string] infobox headline (optional)
 | 
						|
    block - infobox text (inline and block elements)
 | 
						|
 | 
						|
mixin infobox(label)
 | 
						|
    .box.box--info(data-label=label)&attributes(attributes)
 | 
						|
        p.box-body
 | 
						|
            block
 | 
						|
 | 
						|
 | 
						|
//- Alerts for notes and updates
 | 
						|
 | 
						|
mixin alert(button)
 | 
						|
    .alert&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
        if button
 | 
						|
            +form-button('primary', 'small')(onclick='this.parentNode.parentNode.removeChild(this.parentNode);')=button
 | 
						|
 | 
						|
        else
 | 
						|
            button.alert-close(onclick='this.parentNode.parentNode.removeChild(this.parentNode);')
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//- Embeds
 | 
						|
    border  - [boolean] add border to embed container
 | 
						|
    caption - [string] embed caption
 | 
						|
    block   - embed content (inline and block elements)
 | 
						|
 | 
						|
mixin embed(border, caption)
 | 
						|
    figure.embed(class=(border) ? 'embed--border' : '')&attributes(attributes)
 | 
						|
        block
 | 
						|
 | 
						|
        if caption
 | 
						|
            figcaption.embed-caption=caption
 | 
						|
 | 
						|
 | 
						|
//- displaCy
 | 
						|
    filename - [string] name of file in displacy folder (no .html)
 | 
						|
    caption  - [string] caption (optional)
 | 
						|
    height   - [integer] iframe height in px (optional)
 | 
						|
 | 
						|
mixin displacy(filename, caption, height)
 | 
						|
    +embed(true, caption).embed--displacy
 | 
						|
        iframe(src='/blog/displacy/' + filename height=height)
 | 
						|
 | 
						|
 | 
						|
//- Logo, imports SVG
 | 
						|
    size - [string] 'tiny', 'small', 'regular' or 'large'
 | 
						|
 | 
						|
mixin logo(size)
 | 
						|
    !=partial('/_includes/_logo', { logo_size: size })
 | 
						|
 | 
						|
 | 
						|
//- <time> element with date
 | 
						|
    input - [string] date in the format YYYY-MM-DD
 | 
						|
    type  - [string] 'timestamp' (optional)
 | 
						|
 | 
						|
mixin date(input, type)
 | 
						|
    - var dates = convertDate(input)
 | 
						|
 | 
						|
    if type == 'timestamp'
 | 
						|
        time=dates.timestamp
 | 
						|
 | 
						|
    else
 | 
						|
        time(datetime=dates.timestamp)=dates.full
 | 
						|
 | 
						|
 | 
						|
//- Divider
 | 
						|
    type - [string] divider tpe
 | 
						|
 | 
						|
mixin divider(type, ...style)
 | 
						|
    div(class=((type) ? 'divider-' + type : 'divider') + ' ' + prefixArgs(style, 'divider--'))&attributes(attributes)
 | 
						|
        if type == 'text'
 | 
						|
            .divider-text-content
 | 
						|
                block
 | 
						|
 | 
						|
        else
 | 
						|
            block
 | 
						|
 | 
						|
 | 
						|
//- Twitter Share Button
 | 
						|
        tweet - [string] text to be shared with the tweet
 | 
						|
 | 
						|
mixin tweet(tweet)
 | 
						|
    a(href=twitterShareUrl(current.path, tweet) target='_blank' aria-label="Shsre on Twitter")
 | 
						|
        +icon('twitter', 'large')
 |