-
GO HUGOのテンプレートで外部APIのJSONデータをロードして展開する{{ $json_url := 'APIのURL' }} {{ $data := getJSON $json_url }} {{ if gt (len $data) 0 }}{{ if not (eq (index $data 0) "") }} <section> <ul> {{range $data }} <li> <a href="{{ .referer }}" target="_blank"> <span>{{ .title}}</span> <span>{{ .url}}</span> </a> </li> {{ end }} </ul> </section> {{ end }}{{ end }}
-
PHP Laravel以外でEloquentを使って、複数DBを設定に動的にロードさせる<?php require_once __DIR__ . '/../config/database.php'; $capsule = new \Illuminate\Database\Capsule\Manager; $db_names = array_keys($config['database']); foreach($db_names as $name){ $alis = $name; if($name === reset($db_names)) $alis = 'default'; $capsule->addConnection($config['database'][$name], $alis); } $capsule->setAsGlobal(); $capsule->bootEloquent();
-
GO HUGOで、表示させている記事以外の同一セクションの記事一覧を抽出する{{ $v1 := (where .Site.RegularPages "Section" "topics" )}} {{ $v2 := (where .Site.RegularPages ".Params.slug" "!=" .Params.slug)}} {{ $related:= $v1 | intersect $v2 }} {{ with $related }} <ul class="article-list"> {{ range . }} {{ partial "li" .}} {{ end }} </ul> {{ end }}
-
PHP AltorouterでLaravel的なクラス名ルーティングをする方法<?php require_once __DIR__ . '/../vendor/autoload.php'; $router = new AltoRouter(); $router->map('GET|POST','/', 'App\TopController::index', 'home' ); $match = $router->match(); if( is_array($match) && is_callable( $match['target'] ) ) { $params = explode("::", $match['target']); $action = new $params[0](); call_user_func_array(array($action, $params[1]) , $match['params']); } else { header( $_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found'); }
-
PHP Laravel・Eloquent ORMでデータベース設定ファイルを分割して一気にロードする方法<?php $config['database'] = [ 'main' => [ 'driver' => 'sqlite', 'database' => __DIR__ . '/../database/main.sqlite', ], ]; // 個別DB設定を全部require $req_dir = [__DIR__ . '/database/']; foreach ($req_dir as $r) { foreach(glob($r.'*') as $file){ if(is_file($file)){ require_once $file; } } }
-
PHP Laravel・Eloquent ORMでコントローラー側で接続先DBを動的に切り替える<?php use SomeModel; class SomeController extends BaseController { public function someMethod() { $someModel = new SomeModel; $someModel->setConnection('DB2'); $something = $someModel->find(1); return $something; } }
-
CSS3 iOSでposition stickyが効かない時の対策position: -webkit-sticky;
-
CSS3 スマホでスクロールするテーブルのCSS3.scroll-table { overflow: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
-
SASS HUGOでSASSを使うためのコード{{ $style := resources.Get "sass/main.scss" | toCSS | minify | fingerprint }} <link rel="stylesheet" href="{{ $style.Permalink }}">
-
CSS3 box-sizingを全ブラウザでborder-boxにする*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
-
HTML5 記事ページのHTML5テンプレート<!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>記事ページのHTML5テンプレート</title> <meta charset="utf-8"> <meta name="description" content=""> <meta name="author" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href=""> <!--[if lt IE 9]> <script src="//cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <link rel="shortcut icon" href=""> </head> <body> <header> <p><a href="">サイト名</a></p> <nav> <ul> <li><a href="#">メニュー</a></li> <li><a href="#">メニュー</a></li> <li><a href="#">メニュー</a></li> </ul> </nav> </header> <main> <article class=""> <header> <h1>記事タイトル</h1> <p>説明文です。説明文です。説明文です。説明文です。</p> </header> <section> <p>本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文</p> <p>本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文</p> <p>本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文</p> </section> </article> </main> <aside class=""> <section> <h2>新着コンテンツ</h2> <ul> <li><a href="#">新着記事1</a></li> <li><a href="#">新着記事2</a></li> <li><a href="#">新着記事3</a></li> </ul> </section> <section> <h2>人気コンテンツ</h2> <ul> <li><a href="#">人気記事1</a></li> <li><a href="#">人気記事2</a></li> <li><a href="#">人気記事3</a></li> </ul> </section> </aside> <footer> <p>(C) 2019 サイト名.</p> </footer> </body> </html>
-
PHP Lumenでメールを送る関数public function register() { // 追記する--> $this->app->singleton('mailer', function ($app) { $app->configure('services'); return $app->loadComponent('mail', 'Illuminate\Mail\MailServiceProvider', 'mailer'); }); // <--追記する }
-
DOCKER Alpine LinuxベースのCloud9 + PHP 7コンテナFROM anatolinicolae/alpine-cloud9 MAINTAINER c0d3man <hoge@fuga.com> RUN sed -i -e 's/v3\.4/v3.6/g' /etc/apk/repositories RUN apk --no-cache add php7 php7-fpm php7-mysqli php7-json php7-openssl php7-curl \ php7-zlib php7-xml php7-phar php7-intl php7-dom php7-xmlreader php7-ctype \ php7-mbstring nginx supervisor curl
-
DOCKER ジェネレイト&FTPができるHUGOコンテナのDockerfileFROM alpine:latest RUN wget https://github.com/gohugoio/hugo/releases/download/v0.41/hugo_0.41_Linux-64bit.tar.gz RUN tar -xzf hugo_0.41_Linux-64bit.tar.gz RUN mv hugo /usr/local/bin/hugo RUN mkdir -p /hugo ## Install lftp & PHP RUN apk update && apk add lftp