2013-03-04 40 views
5

Có cách nào để bao gồm thẻ css tùy chỉnh trong trang web jekyll trong khi sử dụng markdown cho các tệp nhập; ví dụ, khi tôi muốn làm nổi bật một đoạn nào đó?Jekyll và css tùy chỉnh

+1

Bạn có thể giải thích chi tiết hơn về chính xác những gì bạn muốn không? Cả ScottHelm và @berkes đều cung cấp các giải pháp rất hợp lệ, nhưng thật khó để đề xuất một giải pháp cụ thể trừ khi chúng tôi biết thêm về những gì bạn đang cố gắng thực hiện. – jbranchaud

+1

@Peterb bạn đã thấy điều này chưa? http://stackoverflow.com/questions/27501185/how-to-add-multiple-classes-to-markdown-using-jekyll - kiểm tra và làm việc với css tùy chỉnh "' .float-right' "trên một hình ảnh được thêm vào bài đăng với md: '{: .float-right}! [] (/ path/to/img)' – Fred

Trả lời

0

bạn sẽ có thể đặt thẻ html trong tài liệu đánh dấu của mình và sẽ phân tích cú pháp chúng không thành vấn đề. ví dụ:

#This 

is a paragraph <span style="background-color:yellow">with highlighting</span> 
+0

@rorra Tại sao bạn lại chấp thuận chỉnh sửa cho bài đăng này? Nó rõ ràng có nghĩa là một bình luận, nhưng không phải như vậy. – Daedalus

14

Đánh dấu hoặc YAML FrontMatter có tính năng này. Nhưng bạn có thể tự làm.

Giả sử bạn có foo.css mà bạn muốn đưa vào một số bài đăng nhất định.

Trong _posts/2013-02-03-higligting-foo.markdown:

--- 
css: foo 
title: "Drupal Imagecache security vulnarability with DDOS attack explained" 
tags: [drupal, imagecache, security, ddos] 
--- 

Sau đó, trong _layouts/default.html:

{% if post && post.css %} 
    <link rel='stylesheet' type='text/css' href='public/assets/{{ post.css }}.css' /> 
{% endif %} 

Nếu một bài đăng được hiển thị, và các bài đã một biến xác định, css, sau đó sử dụng để bao gồm các tập tin css với tên. Lưu ý rằng điều này không kiểm tra thời tiết tên tệp là chính xác, cho dù tệp css có tồn tại hay không.

+1

bài đăng phải được thay đổi thành trang và {% post.css%} phải là {{page.css}}. – duleorlovic

+0

@duleorlovic: Đó có phải là một thay đổi gần đây, hay tôi chỉ đơn giản là đăng một cái gì đó sai? Bạn đã có một liên kết đến một số tài liệu chưa. về điều này? – berkes

+0

{% ...%} dành cho những thứ không giải quyết được văn bản (ví dụ: if/for/except) ----- {{...}} dành cho phát xạ văn bản – jgmalcolm

4

Nếu bạn có nghĩa là bạn có thể cho một đoạn đặc biệt trong tài liệu Markdown của bạn một lớp cụ thể, bạn về mặt kỹ thuật có thể, bởi chỉ cần gõ thẻ đoạn cách bạn muốn nó:

My **first** paragraph 

<p class="mySpecialClass">My **second** paragraph</p> 

My **third** paragraph 

và Markdown sẽ vượt qua p của bạn chuyển đến HTML kết quả.

Tuy nhiên, Markdown sẽ từ chối phân tích nội dung bên trong các thẻ bạn tự nhập, vì vậy nội dung của đoạn văn của bạn sẽ không được coi là Markdown — ví dụ: từ **second** trong đoạn đó sẽ không hiển thị dưới dạng in đậm.

Tôi đã chuyển sang Dệt cho các bài đăng Jekyll vì hành vi này.

Chúc may mắn!

+0

Công cụ kramdown cung cấp tùy chọn nhúng đánh dấu trong thẻ HTML. Chỉ cần làm 'parse_block_html: true' trong config.yml hoặc front matter – jasonszhao

+0

@jasonszhao có hoạt động với Github Pages không? Điều đó thật tuyệt. –

+0

[kramdown được trang Github hỗ trợ] (https://help.github.com/articles/migrating-your-pages-site-from-maruku/).Tuy nhiên, tôi chỉ tải lên thư mục đã biên soạn của mình và tôi không hoàn toàn chắc chắn rằng tùy chọn đó hoạt động. – jasonszhao

Các vấn đề liên quan