Skip to content

Instantly share code, notes, and snippets.

View kohki-shikata's full-sized avatar

Kohki SHIKATA kohki-shikata

View GitHub Profile
@kohki-shikata
kohki-shikata / yoshinaniFormDifinition.d.ts
Last active October 21, 2024 06:45
Yoshinani Form difinition setting file type
type FormContent = {
type: 'formElement' | 'formField' | 'html' | 'string';
content: FormElement[] | FormField[] | HTMLElement[] | string;
};
type FormField = {
legend: string;
isLegendIndicateRequired: boolean;
formElements: FormElement[];
};
@kohki-shikata
kohki-shikata / LockableTrait.php
Last active October 17, 2024 05:05
【Laravel】編集中ロック機能
<?php
namespace App\Traits;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\Log;
trait LockableTrait
@kohki-shikata
kohki-shikata / createHashebasedDirectories.php
Created October 13, 2024 13:04
Hash based directoryの作成
<?php
if (!function_exists('createCustomDirectoryFromFilename')) {
/**
* ファイル名からハッシュを生成し、対応するディレクトリを作成します。
*
* @param string $filename
* @param int $initialDirLength 最初のディレクトリの文字数
* @param int $subDirLevels サブディレクトリの数
* @param string $baseDir ベースディレクトリ
@kohki-shikata
kohki-shikata / wordpress_dump.sql
Created October 13, 2024 05:17
ほぼ初期状態のWordPressテーブル構成
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- ホスト: database:3306
-- 生成日時: 2024 年 10 月 13 日 05:13
-- サーバのバージョン: 8.4.2
-- PHP のバージョン: 8.2.19
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
@kohki-shikata
kohki-shikata / CrudTrait.php
Last active October 17, 2024 05:46
ベーシックなCRUDと、よくある付随するビジネスロジック
<?php
namespace App\Traits;
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\ModelNotFoundException;
trait CrudTrait
{
use LockableTrait; // LockableTraitを使用
@kohki-shikata
kohki-shikata / FileStrorage.php
Created September 26, 2024 03:06
ファイルの操作を行うLaravelのTrait
<?php
namespace App\Traits;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Validator;
use Intervention\Image\Facades\Image; // Intervention Imageパッケージを使用
// 変数の初期設定
let currentIndex = 0;
const lines = document.querySelectorAll('.main-article h2, .main-article p');
// 行にハイライトを追加する関数
function highlightLine(lineIndex) {
lines.forEach(line => line.classList.remove('kaisei-active'));
// 条件に合った行にハイライトを追加
if (lineIndex >= 0 && lineIndex < lines.length) {
let isEnabled = false; // フラグを初期化
let selectedElement = null; // 現在選択されている要素を保持
// ページロード時にユニーククラスを適用
document.addEventListener('DOMContentLoaded', () => {
applyUniqueClasses();
toggleSelectionMode(false); // 初期状態で選択モードを無効にする
});
// 選択モードの切り替えボタン
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router';
const app = createApp(App)
app.use(router)
app.mount('#app')
// chrome.runtime.onInstalled.addListener(() => {
// console.log("Extension installed!");
// });
// src/background/service-worker.js
let myVariable = "This is a variable from the background script.";
chrome.runtime.onMessage.addListener((request, _sender, sendResponse) => {
if (request.action === "getVariable") {