- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Mình bắt đầu viết bài này vì lý do đã từng đăng code snippets trực tiếp vào posts và sử dụng wordpress SyntaxHighlighter Evolved plugin để hiển thị đọc code trên website. Cách này đôi khi làm việc và thỉnh thoảng thì không. Lỗi chậm hiển thị thường xuyên gặp phải.
Sau cùng, tôi bắt đầu sử dụng gists trên Github như xuất bản repositories cho mục đích tạo code snippets và cài đặt plugin để hiển thị code trên website/blog của tôi. Trường hợp apache của bạn đang chạy wordpress bị giới hạn ký tự truyền vào phương thức POST bởi mod_security. Thì đây là cách hữu hiệu nhất.
Nhúng Gists snippet
Bạn không cần cài đặt bất kỳ plugin nào chỉ đơn giản đặt đoạn code sau đây vào functions.php
/** * Embed Gists with a URL * * Usage: * Paste a gist link into a blog post or page and it will be embedded eg: * https://gist.github.com/2926827 * * If a gist has multiple files you can select one using a url in the following format: * https://gist.github.com/2926827?file=embed-gist.php * * Updated this code on June 14, 2014 to work with new(er) Gist URLs */ wp_embed_register_handler( 'gist', '/https?:\/\/gist\.github\.com\/([a-z0-9]+)(\?file=.*)?/i', 'bhww_embed_handler_gist' ); function bhww_embed_handler_gist( $matches, $attr, $url, $rawattr ) { $embed = sprintf( '<script src="https://gist.github.com/%1$s.js%2$s"></script>', esc_attr($matches[1]), esc_attr($matches[2]) ); return apply_filters( 'embed_gist', $embed, $matches, $attr, $url, $rawattr ); }
Tất cả bạn cần làm là chèn link Gist vào post/page vậy là snippet đã hiển thị trên website.
Chú ý: để đoạn code hoạt động bạn cần xóa username từ gist URL.
Thông thường khi copy địa chỉ gist sẽ bao gồm cả username, Ví dụ: https://gist.github.com/hoangsoft90/e6a698a4a5e6db48b314
thì đổi thành: https://gist.github.com/e6a698a4a5e6db48b314
Tuy nhiên nếu bạn không muốn mất công đoạn xóa chuỗi username thì đổi dòng sau:
wp_embed_register_handler( 'gist', '/https?:\/\/gist\.github\.com\/([a-z0-9]+)(\?file=.*)?/i', 'bhww_embed_handler_gist' );
Thay bởi:
wp_embed_register_handler( 'gist', '/https?:\/\/gist\.github\.com\/(.+?)\/([a-z0-9]+)(\?file=.*)?/i', 'bhww_embed_handler_gist' );
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype