やわらかしかっけい

なんでもすぐに忘れてしまう自分のために

Let's Encrypt やっぱり自動更新されてなかった

期限切れちゃってた。証明書の作り直しです。

古いやつバックアップ

# mv /etc/letsencrypt /etc/letsencrypt.back

certbot-autoがインストールされてなかったようなので

ここに書いてある通りに

# yum install epel-release
# wget https://dl.eff.org/certbot-auto
# chmod a+x certbot-auto

と、ここで

# ./certbot-auto

してもエラーが出たので、メッセージに従ってこうする

# ./certbot-auto certonly

あなたが落としたのは金の斧ですか?銀の斧ですか?

How would you like to authenticate with the ACME CA?
1: Apache Web Server plugin - Beta (apache) [Misconfigured]
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)

わかんないので、インターネットを信じて2を選ぶ


あとはA(Agree)とかY(Yes)を押したり、メールアドレスやドメインを入力したりする

できたっぽいので

# service httpd start

自動更新の設定を、今度こそやっておこう

crontabというのを編集するのだが、

# crontab -e

で開くと憎たらしいviエディタが現れたので

# EDITOR=nano
# export EDITOR

ってやっておく。これでnanoエディタがデフォになる

こうですか、わかりません

0 6 1 * * /etc/init.d/httpd stop && ./certbot-auto renew --force-renew && /etc/init.d/httpd start

来月1日の朝6時に、ちゃんと更新されてたら正解

めちゃよく使う、スマホ用ドロップダウンメニュー

  • MENUを押すと、にゅーんと伸びる
  • MENUの横のキャレットが上向きになる
  • スクロールすると、上部に張り付く

html

<ul class="sp" id="spMenu">
  <li class="spMenuBtn">MENU<b class="caret"></b></li>
	<ul>
		<li><a href="<?php echo esc_url( home_url() ); ?>">HOME</a></li>
		<li><a href="<?php echo esc_url( home_url( '/about' ) ); ?>">ABOUT</a></li>
		<li><a href="<?php echo esc_url( home_url( '/gallery' ) ); ?>">GALLERY</a></li>
		<li><a href="<?php echo esc_url( home_url( '/blog' ) ); ?>">BLOG</a></li>
		<li><a href="<?php echo esc_url( home_url( '/contact' ) ); ?>">CONTACT</a></li>
	</ul>
</ul>

CSS

#spMenu{
  text-align:center;
  width:100%;
}
#spMenu li{
  padding:12px 0;
}
#spMenu ul{
	display:none;
}
.caret {
border-top:   solid 4px #000;
border-left:  solid 4px transparent;
border-right: solid 4px transparent;
border-bottom: solid 4px transparent;
vertical-align: bottom;
margin-left:10px;
line-height:0.3;
}
.spMenuActive .caret{
border-bottom:   solid 4px #000;  
border-top:solid 4px transparent;
border-left:  solid 4px transparent;
border-right: solid 4px transparent; 
vertical-align: top;
}
.fixed {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index : 9999;
}

jQuery

jQuery(function($){
      $("#spMenu > li").on("click", function() {
          $(this).toggleClass("spMenuActive");
          $(this).next().slideToggle();
      });
  });

jQuery(function($) {
    var spMenu = $('#spMenu');
    var spMenuTop = spMenu.offset().top;
    $(window).scroll(function () {
        var winTop = $(this).scrollTop();
        if (winTop >= spMenuTop) {
            spMenu.addClass('fixed')
        } else if (winTop <= spMenuTop) {
            spMenu.removeClass('fixed')
        }
    });
});  
  • WordPressjQueryの時、$(function(){ がだめなのを毎回忘れるよね。

よく使う、WordPressのOGP設定

いまのところこうだが、ダメだったら都度修正する
(固定ページの存在をガン無視している)

<!--==============ogp===============-->
<?php
if (is_single()){
if(have_posts()): while(have_posts()): the_post();
echo '<meta property="og:type" content="article">';echo "\n";
echo '<meta property="og:description" content="'; echo mb_substr(get_the_excerpt(), 0, 100) ; echo '…">'; echo "\n";
endwhile; endif;
echo '<title>'; the_title(); echo '| サイト名</title>';echo "\n";
echo '<meta property="og:title" content="'; the_title(); echo ' | サイト名">';echo "\n";
echo '<meta property="og:url" content="'; the_permalink(); echo '">';echo "\n";
} else {
echo '<title>'; bloginfo('name'); echo '</title>';echo "\n";
echo '<meta property="og:type" content="website">';echo "\n";
echo '<meta property="og:description" content="'; bloginfo('description'); echo '">';echo "\n";
echo '<meta property="og:title" content="'; bloginfo('name'); echo '">';echo "\n";
echo '<meta property="og:url" content="'; echo site_url(); echo '">'; echo "\n";
}
$str = $post->post_content;
$searchPattern = '/<img.*?src=(["\'])(.+?)\1.*?>/i';
if (is_single()){
if (has_post_thumbnail()){
$image_id = get_post_thumbnail_id();
$image = wp_get_attachment_image_src( $image_id, 'full');
echo '<meta property="og:image" content="'.$image[0].'">';echo "\n";
} else if ( preg_match( $searchPattern, $str, $imgurl ) && !is_archive()) {
echo '<meta property="og:image" content="'.$imgurl[2].'">';echo "\n";
} else {
echo '<meta property="og:image" content="画像のURL">';echo "\n";
}
} else {
echo '<meta property="og:image" content="画像のURL">';echo "\n";
}
?>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>">
<meta property="fb:admins" content="000000000000000000">
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@xxxxxxxxxxxxxxxx" />
<!--==============ogp===============-->

site_url()とhome_url()とbloginfo(url)

  • bloginfo(url)は非推奨という噂が
  • site_url()はWordPressがインストールされてるディレクトリのURL
  • home_url()はおおもとのサイトアドレス