Sler系SEの技術ブログ
WordPressにダークテーマのGistを埋め込む(子テーマ)
kght6123
巷でダークテーマが流行しそうなので・・・
子テーマを使って、WordPress公式の「Twenty Sixteen」テーマのレイアウト微調整と、Gistのダークテーマ化を行いました。
適用はwordpressのplugins直下に、twentysixteen-childフォルダーを作成し、下記の2つのファイルを配置します。 その後、ダッシュボードでテーマを「Twenty Sixteen Child」に変更してください。
// functions.php
<?php
function theme_enqueue_styles() {
// 親CSSの読み込み
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css' );
// 親CSSを継承して、子CSSの読み込み
wp_enqueue_style('child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style'));
}
// テーマスタイル読み込みアクションをスクリプトキューに追加
add_action('wp_enqueue_scripts', 'theme_enqueue_styles');
// wordpressにインストールされているjqueryを無効にする関数
add_filter('init',function(){
if (!is_admin()){
wp_deregister_script('jquery');
}
});
?>
<?php
// GistのURLを貼り付けた時のハンドラーを登録
wp_embed_register_handler( 'gist', '/https?:\/\/gist\.github\.com\/([a-z0-9]+)\/([a-z0-9]+)(\?file=.*)?/i', function( $matches, $attr, $url, $rawattr ) {
// GistのScriptタグを埋め込む
$embed = sprintf(
'<script src="https://gist.github.com/%1$s/%2$s.js%3$s"></script>',
esc_attr( $matches[1] ),
esc_attr( $matches[2] ),
esc_attr( $matches[3] )
);
// タグ(embed_gist)に付与されたコールバック関数を更に呼び出し
return apply_filters( 'embed_gist', $embed, $matches, $attr, $url, $rawattr );
});
?>
/* style.css */
/*
Theme Name: Twenty Sixteen Child
Theme URI: https://wordpress.org/themes/twentysixteen/
Author: kght6123
Author URI: https://github.com/kght6123/
Description: Twenty Sixteen Child Theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentysixteen-child
Tags:
Template: twentysixteen
Twenty Sixteen Child Theme. Ballon include and Gist OK.
*/
body {
background-color: #111 !important;
background: #111 !important;
}
.site {
background-color: #2C2C2C !important;
}
.widget {
border-top: 0 !important;
margin-bottom: 0 !important;
padding: 0.5em !important;
}
.widget-title {
margin: 0 0 0.5em 0 !important;
}
.widget-area {
background-color: rgba(0, 0, 0, 0) !important;
}
.site-header {
padding: .5em 7.6923% 3.5em !important;
}
.site-footer {
padding: 0 0 .25em 2em !important;
}
/* FooterのタイトルとWordpressを消す
footer .site-info {
display: none;
}*/
.post-navigation {
border-top: 0;
border-bottom: 0;
margin: 0 7.6923% 0;
}
.widget-area ul li {
position: relative;
list-style: none;
padding-bottom: .25em;
}
.widget-area ul li::after {
display: block;
content: '';
position: absolute;
top: .45em;
left: -1.25em;
width: 9px;
height: 9px;
border-right: 3px solid #666;
border-bottom: 3px solid #666;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
/* コメントエリア */
.comments-title, .comment-reply-title,
.comment-list + .comment-respond, .comment-navigation + .comment-respond,
.comment-form {
border-top: 0 !important;
padding-top: 0em;
}
.site-main {
margin-bottom: 2.5em;
}
article {
margin-bottom: 2.5em !important;
}
/* Gist Bootstrapとの競合対策
.gist .file {
height: auto;
} */
/* Gistダークテーマ */
/* Line Numbers */
.gist-data tbody td:nth-of-type(1) {
color: #666 !important;
}
/* Code */
.gist-data tbody td:nth-of-type(2){
color: #ddd !important;
left: 1.5em;
}
/* All & Footer & body */
.gist-data, .gist-data table, .gist-data tbody {
background-color: #333 !important;
color: #ccc !important;
}
.gist-meta, .gist-meta * {
background-color: #393939 !important;
color: #ccc !important;
}
.gist {
background-color: rgba(0, 0, 0, 0) !important;
color: #ccc !important;
}
.gist, .gist-data, .gist-data table td, .gist-file, .gist-meta {
border: 1px solid rgba(0, 0, 0, 0) !important;
}
.gist-data {
border-radius: 7px 7px 0 0 !important;
}
.gist-meta {
border-radius: 0 0 7px 7px !important;
}
/* Comments */
.pl-c
{
color: #57A64A !important;
}
/* Function */
.pl-k
{
color: rgb(229, 173, 255) !important;
}
/* Function Name */
.pl-en
{
color: rgb(255, 173, 230) !important;
}
/* Function Method */
.pl-c1
{
color: rgb(255, 196, 196) !important;
}
/* "'s around Strings */
.pl-pds
{
color: rgb(204, 173, 255) !important;
}
/* Strings */
.pl-s
{
color: rgb(204, 173, 255) !important;
}
/* val */
.pl-smi
{
color: rgb(159, 193, 255) !important;
}
/* PC表示時のコンテンツの表示領域を調整 */
@media screen and (min-width: 61.5625em) {
.entry-content {
margin-right: 15% !important;
margin-left: 15% !important;
width: 70% !important;
float: none !important;
}
.entry-footer {
margin-top: 1em !important;
margin-right: 15% !important;
margin-left: 15% !important;
display: block !important;
float: none !important;
width: auto !important;
}
.entry-footer span {
display: inline !important;
}
.entry-footer > span:not(:last-child):after {
content: "\002f" !important;
display: inline-block !important;
opacity: 0.7 !important;
padding: 0 0.538461538em !important;
}
.avatar {
width: 21px !important;
height: 21px !important;
display: inline-block !important;
margin-right: 7px !important;
}
}
@media screen and (min-width: 56.875em) {
.entry-header {
margin-right: 15% !important;
margin-left: 15% !important;
}
}