Skip to content

Instantly share code, notes, and snippets.

Avatar

Ayumi Sato trickstar13

View GitHub Profile
View instagramtags.php
<?php
// 参考: https://www.asobou.co.jp/blog/web/facebookgraphapi2
$token = 'DUMMY'; // トークン3
$businessId = 'DUMMY'; // InstagramビジネスID
$tagId = '17841562954126390'; // タグID
$query = [
'user_id' => $businessId,
'fields' => 'id,media_type,media_url,children{id,media_url,media_type},permalink',
View コード.gs
/* 参考元コード https://qiita.com/nyoroko/items/452a8db449862f31ab2b */
function doGet() {
var template = 'index';
return HtmlService
.createTemplateFromFile('index')
.evaluate()
.addMetaTag('viewport', 'width=device-width, initial-scale=1') //html側にメタタグを設定しても意味がなかったためこちらで
}
function getScriptUrl() {
@trickstar13
trickstar13 / addMokuji.js
Created Aug 16, 2021 — forked from kazuooooo/addMokuji.js
STUDIOに目次をつけるコード
View addMokuji.js
var assignMokuji = function(){
/**
* 指定したテキストでH1もしくはH2要素を見つける
* @param {*} text
* @returns
*/
var findH1OrH2ByText = function(text) {
var h1 = $("h1:contains(" + text + ")").first()
if(h1[0]){
return h1[0]
View form.tsx
import { useState, VFC } from "react";
import axios from 'axios';
import { useRouter } from 'next/router'
export const Component: VFC = () => {
const router = useRouter();
// 項目を設定
const [lastname, setLastname] = useState("");
const [firstname, setFirstname] = useState("");
@trickstar13
trickstar13 / exitPreview.tsx
Created Aug 4, 2021
/pages/api/exitPreview.tsx
View exitPreview.tsx
export default (_req, res) => {
res.clearPreviewData();
res.writeHead(307, { Location: `/` });
res.end('Preview mode disabled');
}
@trickstar13
trickstar13 / Component.tsx
Last active Aug 4, 2021
src/components/Pages/Post/Id/Component.tsx
View Component.tsx
export const Component: VFC<Props> = (props) => {
return (
<>
{props.draftKey && (
<p className={'bg-yellow-100 text-yellow-900 p-4 text-center'}>
プレビュー表示がONになっています。
<Link href={`/api/exitPreview`}>
<a className={"underline"}>プレビュー表示をOFFにする</a>
</Link>
</p>
@trickstar13
trickstar13 / [id].tsx
Created Aug 4, 2021
/pages/blog/[id].tsx
View [id].tsx
export const getStaticProps = async (context) => {
// 記事IDを取得する
const slug = context.params.id;
// draftKeyを取得し、クエリを作成する
const draftKey = context.previewData?.draftKey
? { draftKey: context.previewData.draftKey }
: {};
@trickstar13
trickstar13 / blogPreview.jsx
Last active Aug 4, 2021
/pages/api/blogPreview.jsx
View blogPreview.jsx
import { client } from "@pages/api/microcms";
export default async (req, res) => {
// リクエストにスラッグがない場合は404エラーを表示
if (!req.query.slug) {
return res.status(404).end();
}
// 記事が存在するか確かめる
View generateOgImage.tsx
import base64url from "base64url";
const ogImageUrl = generateOgImage(blogPost.title);
const generateOgImage = (title: string) => {
// タイトルを Base64 エンコーディング
const base64title = base64url(title);
// 文字画像のURLを作成
const textImage = `https://images.microcms-assets.io/~text?txtsize=48&w=1000&h=400&txt-align=left,middle&txtfont=Hiragino%20Sans%20W6&txt64=${base64title}`;
View getSchedule.php
<?php
$updatedTime = date('Y年m月d日 H時i分s秒 時点の営業時間');
$today = date('w'); // 今日の曜日を取得
$json = getJsonFromApi(); // JSONデータを取得
$isOpen = $openHour = $openMin = $closeHour = $closeMin = null;
$message = null;
// 営業中なら営業時間を取得する
if ($json["result"]["business_status"] == 'OPERATIONAL'){
$json =$json["result"]["opening_hours"]["periods"];