toshiki-notebook/development/file-naming-convention.html

109 lines
79 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>File Name Conventions | Toshiki's Note</title>
<meta name="description" content="Toshiki's web notebook served via Vitepress!">
<link rel="preload stylesheet" href="/assets/style.198beb51.css" as="style">
<script type="module" src="/assets/app.11c168a7.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.b7580407.js">
<link rel="modulepreload" href="/assets/chunks/theme.c3ca1c74.js">
<link rel="modulepreload" href="/assets/chunks/commonjsHelpers.725317a4.js">
<link rel="modulepreload" href="/assets/chunks/PageInfo.vue_vue_type_script_setup_true_lang.250b3e56.js">
<link rel="modulepreload" href="/assets/development_file-naming-convention.md.c45dd037.lean.js">
<link rel="stylesheet" href="https://cdnjs.toshiki.dev/ajax/libs/KaTeX/0.16.0/katex.min.css">
<link rel="stylesheet" href="https://cdnjs.toshiki.dev/ajax/libs/font-awesome/6.3.0/css/all.min.css">
<link rel="icon" href="https://r2.toshiki.dev/cdn/toshiki-notebook-favicon/favicon.ico">
<meta name="author" content="Anda Toshiki">
<meta name="keywords" content="Toshiki, Anda Toshiki, andatoshiki, GitHub, GitHub action, Vitepress, Vite, Notebook, Knowledge base, Programming, Programming Notes, Academic, Personal, Notebook, Productivity, Journal, Note-taking, Markdown, Notepad, Organization, Tutorial">
<meta name="google-site-verification" content="lm7PNJiYSPEx1dMast1Xptc0Vk0cU06o-daZSsIgr2I">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="theme-color" content="#3c8772">
<meta property="og:type" content="website">
<meta property="og:locale" content="en-US">
<meta property="og:title" content="Toshiki&#39;s Note">
<meta property="og:description" content="Toshiki&#39;s web notebook served via Vitepress!">
<meta property="og:site" content="https://note.toshiki.dev">
<meta property="og:site_name" content="Toshiki&#39;s Note">
<meta property="og:image" content="https://note.toshiki.dev/og-cover.png">
<script>function siteruntime(){window.setTimeout("siteruntime()",1e3),X=new Date("8/24/2021 10:28:00"),Y=new Date,T=Y.getTime()-X.getTime(),M=24*60*60*1e3,a=T/M,A=Math.floor(a),b=(a-A)*24,B=Math.floor(b),c=(b-B)*60,C=Math.floor((b-B)*60),D=Math.floor((c-C)*60),siteruntime_span.innerHTML="This site has been running for: "+A+" day(s) "+B+" hour(s) "+C+" minute(s) "+D+" second(s)"}siteruntime();</script>
<script async defer data-website-id="" src=""></script>
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-f6284a77><!--[--><!--]--><!--[--><span tabindex="-1" data-v-315fcc9b></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-315fcc9b> Skip to content </a><!--]--><!----><header class="VPNav" data-v-f6284a77 data-v-ff202323><div class="VPNavBar has-sidebar" data-v-ff202323 data-v-57f83237><div class="container" data-v-57f83237><div class="title" data-v-57f83237><div class="VPNavBarTitle has-sidebar" data-v-57f83237 data-v-87c32abd><a class="title" href="/" data-v-87c32abd><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logos/logo.png" alt data-v-6ebf9bdf><!--]--><!--[-->Toshiki&#39;s Note<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-57f83237><div class="curtain" data-v-57f83237></div><div class="content-body" data-v-57f83237><!--[--><!--]--><div class="VPNavBarSearch search" data-v-57f83237><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-57f83237 data-v-183ec936><span id="main-nav-aria-label" class="visually-hidden" data-v-183ec936>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/development/file-naming-convention" tabindex="0" data-v-183ec936 data-v-416f44b0><!--[--><span data-v-416f44b0>Development</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup active" data-v-183ec936 data-v-62bba1f9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-62bba1f9><span class="text" data-v-62bba1f9><!----><span data-v-62bba1f9>Academic</span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-62bba1f9><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-62bba1f9><div class="VPMenu" data-v-62bba1f9 data-v-17c3596a><div class="items" data-v-17c3596a><!--[--><!--[--><div class="VPMenuGroup" data-v-17c3596a data-v-b9d0e57b><p class="title" data-v-b9d0e57b>K-12</p><!--[--><!--[--><div class="VPMenuLink" data-v-b9d0e57b data-v-ec5470f2><a class="VPLink link" href="/academic/chemistry/index" data-v-ec5470f2><!--[-->Chemistry<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b9d0e57b data-v-ec5470f2><a class="VPLink link" href="/discrete-math/index" data-v-ec5470f2><!--[-->Discrete Math.<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b9d0e57b data-v-ec5470f2><a class="VPLink link" href="/academic/literature/index" data-v-ec5470f2><!--[-->Literature<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b9d0e57b data-v-ec5470f2><a class="VPLink link" href="/academic/cis105/index" data-v-ec5470f2><!--[-->CIS105<!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-17c3596a data-v-b9d0e57b><p class="title" data-v-b9d0e57b>Tools</p><!--[--><!--[--><div class="VPMenuLink" data-v-b9d0e57b data-v-ec5470f2><a class="VPLink link" href="/academic/physics/ipho-formulas-jpn/1" data-v-ec5470f2><!--[-->Formulas for IPhO JPN.<!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><span class="VPLink" data-v-ec5470f2><!--[--><!--]--></span></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><span class="VPLink" data-v-ec5470f2><!--[--><!--]--></span></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><span class="VPLink" data-v-ec5470f2><!--[--><!--]--></span></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><span class="VPLink" data-v-ec5470f2><!--[--><!--]--></span></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><span class="VPLink" data-v-ec5470f2><!--[--><!--]--></span></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><span class="VPLink" data-v-ec5470f2><!--[--><!--]--></span></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><span class="VPLink" data-v-ec5470f2><!--[--><!--]--></span></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-183ec936 data-v-62bba1f9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-62bba1f9><span class="text" data-v-62bba1f9><!----><span data-v-62bba1f9>Application</span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-62bba1f9><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-62bba1f9><div class="VPMenu" data-v-62bba1f9 data-v-17c3596a><div class="items" data-v-17c3596a><!--[--><!--[--><div class="VPMenuGroup" data-v-17c3596a data-v-b9d0e57b><p class="title" data-v-b9d0e57b>Personal projects</p><!--[--><!--[--><div class="VPMenuLink" data-v-b9d0e57b data-v-ec5470f2><a class="VPLink link" href="/application/markdown-it-katex/how-to-use" data-v-ec5470f2><!--[-->markdown-it-katex<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b9d0e57b data-v-ec5470f2><a class="VPLink link" href="/application/vitepress-plugin-shiki-twoslash/index" data-v-ec5470f2><!--[-->vitepress-plugin-shiki-twoslash<!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-183ec936 data-v-62bba1f9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-62bba1f9><span class="text" data-v-62bba1f9><!----><span data-v-62bba1f9>Save</span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-62bba1f9><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-62bba1f9><div class="VPMenu" data-v-62bba1f9 data-v-17c3596a><div class="items" data-v-17c3596a><!--[--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><a class="VPLink link" href="/save/reading/index" data-v-ec5470f2><!--[-->Reading<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-17c3596a data-v-ec5470f2><a class="VPLink link" href="/academic/vocabulary/index" data-v-ec5470f2><!--[-->Vocabulary<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-57f83237 data-v-dc7cad42><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-dc7cad42 data-v-65b67168 data-v-56eb52d1><span class="check" data-v-56eb52d1><span class="icon" data-v-56eb52d1><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-65b67168><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-65b67168><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-57f83237 data-v-aaebde08 data-v-8a65be56><!--[--><a class="VPSocialLink no-icon" href="https://github.com/andatoshiki" aria-label="github" target="_blank" rel="noopener" data-v-8a65be56 data-v-1b61e2c7><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink no-icon" href="https://twitter.com/andatoshiki" aria-label="twitter" target="_blank" rel="noopener" data-v-8a65be56 data-v-1b61e2c7><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M21.543 7.104c.015.211.015.423.015.636 0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041 4.93 4.93 0 0 1-4.6-3.42 4.916 4.916 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.887 4.887 0 0 0 2.235.616A4.928 4.928 0 0 1 1.67 3.148 13.98 13.98 0 0 0 11.82 8.292a4.929 4.929 0 0 1 8.39-4.49 9.868 9.868 0 0 0 3.128-1.196 4.941 4.941 0 0 1-2.165 2.724A9.828 9.828 0 0 0 24 4.555a10.019 10.019 0 0 1-2.457 2.549z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-57f83237 data-v-e5c8c6ca data-v-62bba1f9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-62bba1f9><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-62bba1f9><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-62bba1f9><div class="VPMenu" data-v-62bba1f9 data-v-17c3596a><!----><!--[--><!--[--><!----><div class="group" data-v-e5c8c6ca><div class="item appearance" data-v-e5c8c6ca><p class="label" data-v-e5c8c6ca>Appearance</p><div class="appearance-action" data-v-e5c8c6ca><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-e5c8c6ca data-v-65b67168 data-v-56eb52d1><span class="check" data-v-56eb52d1><span class="icon" data-v-56eb52d1><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-65b67168><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-65b67168><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-e5c8c6ca><div class="item social-links" data-v-e5c8c6ca><div class="VPSocialLinks social-links-list" data-v-e5c8c6ca data-v-8a65be56><!--[--><a class="VPSocialLink no-icon" href="https://github.com/andatoshiki" aria-label="github" target="_blank" rel="noopener" data-v-8a65be56 data-v-1b61e2c7><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink no-icon" href="https://twitter.com/andatoshiki" aria-label="twitter" target="_blank" rel="noopener" data-v-8a65be56 data-v-1b61e2c7><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M21.543 7.104c.015.211.015.423.015.636 0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041 4.93 4.93 0 0 1-4.6-3.42 4.916 4.916 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.887 4.887 0 0 0 2.235.616A4.928 4.928 0 0 1 1.67 3.148 13.98 13.98 0 0 0 11.82 8.292a4.929 4.929 0 0 1 8.39-4.49 9.868 9.868 0 0 0 3.128-1.196 4.941 4.941 0 0 1-2.165 2.724A9.828 9.828 0 0 0 24 4.555a10.019 10.019 0 0 1-2.457 2.549z"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-57f83237 data-v-f865e4ad><span class="container" data-v-f865e4ad><span class="top" data-v-f865e4ad></span><span class="middle" data-v-f865e4ad></span><span class="bottom" data-v-f865e4ad></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav reached-top" data-v-f6284a77 data-v-a41c4a1c><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a41c4a1c><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-a41c4a1c><path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path></svg><span class="menu-text" data-v-a41c4a1c>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a41c4a1c data-v-44ae7a43><button data-v-44ae7a43>Return to top</button><!----></div></div><aside class="VPSidebar" data-v-f6284a77 data-v-7ab77f34><div class="curtain" data-v-7ab77f34></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-7ab77f34><span class="visually-hidden" id="sidebar-aria-label" data-v-7ab77f34> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-7ab77f34><section class="VPSidebarItem level-0 collapsible has-active" data-v-7ab77f34 data-v-1b9f5c6f><div class="item" role="button" tabindex="0" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><h2 class="text" data-v-1b9f5c6f>Notes & Issues</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-1b9f5c6f><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-1b9f5c6f><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-1b9f5c6f><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/file-naming-convention" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>File Naming Convention</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/rclone-for-r2" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>RClone for R2</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/proxy4shell-terminal" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Proxies Configuration for Shells & Terminal</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/git-push-authentication-failed" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Git push results in "Authentication Failed"</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/installing-npm-package-behind-proxy" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Installing NPM Packages Behind Proxy</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-7ab77f34><section class="VPSidebarItem level-0 collapsible" data-v-7ab77f34 data-v-1b9f5c6f><div class="item" role="button" tabindex="0" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><h2 class="text" data-v-1b9f5c6f>コードで学ぶAWS入門</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-1b9f5c6f><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-1b9f5c6f><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-1b9f5c6f><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/index" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>背景</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/main" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>はじめに!</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/cloud" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>クラウド概論</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/aws-get-started" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>AWS 入門</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/handson-ec2" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Hands-on 1: 初めての EC2 インスタンスを起動する</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/scientific-computing" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>クラウドで行う科学計算・機械学習</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/handson-ec2" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Hands-on 2: AWS でディープラーニングを実践</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/docker-system" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Docker 入門</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/handson-qabot" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Hands-on 3: AWS で自動質問回答ボットを走らせる</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/aws-batch" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Hands-on 4: AWS Batch を使って機械学習のハイパーパラメータサーチを並列化する</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/webserver" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Web サービスの作り方</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/serverless" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Serverless architecture</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/handson-serverless" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Hands-on 5: サーバーレス入門</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/handson-bashoutter" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>Hands-on 6: Bashoutter</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/closing" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>まとめ</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/appendix" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>ppendix: 環境構築</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1b9f5c6f data-v-1b9f5c6f><div class="item" data-v-1b9f5c6f><div class="indicator" data-v-1b9f5c6f></div><a class="VPLink link link" href="/development/aws/acknowledgement" data-v-1b9f5c6f><!--[--><p class="text" data-v-1b9f5c6f>謝辞</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-f6284a77 data-v-f3ed2c70><div class="VPDoc has-sidebar has-aside" data-v-f3ed2c70 data-v-39e6c32d><!--[--><!--]--><div class="container" data-v-39e6c32d><div class="aside" data-v-39e6c32d><div class="aside-curtain" data-v-39e6c32d></div><div class="aside-container" data-v-39e6c32d><div class="aside-content" data-v-39e6c32d><div class="VPDocAside" data-v-39e6c32d data-v-f5b3965e><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" role="navigation" data-v-f5b3965e data-v-99fa007f><div class="content" data-v-99fa007f><div class="outline-marker" data-v-99fa007f></div><div class="outline-title" role="heading" aria-level="2" data-v-99fa007f>TOC</div><nav aria-labelledby="doc-outline-aria-label" data-v-99fa007f><span class="visually-hidden" id="doc-outline-aria-label" data-v-99fa007f> Table of Contents for current page </span><ul class="root" data-v-99fa007f data-v-29e3fa2f><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-f5b3965e></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--[--><!--[--><!--[--><div class="VPDocAsideSponsors"><div class="VPSponsors vp-sponsor aside"><!--[--><section class="vp-sponsor-section"><!----><div class="VPSponsorsGrid vp-sponsor-grid medium"><!--[--><div class="vp-sponsor-grid-item"><a class="vp-sponsor-grid-link" target="_blank" rel="sponsored noopener"><article class="vp-sponsor-grid-box"><h4 class="visually-hidden"></h4><img class="vp-sponsor-grid-image" src="https://jsd.toshiki.dev/gh/andatoshiki/toshiki-notebook@master/assets/logo/sponsor/telegram.png"></article></a></div><!--]--></div></section><!--]--></div></div><!--]--><!--]--><!--]--><!--]--></div></div></div></div><div class="content" data-v-39e6c32d><div class="content-container" data-v-39e6c32d><!--[--><!--]--><!----><main class="main" data-v-39e6c32d><div style="position:relative;" class="vp-doc _development_file-naming-convention" data-v-39e6c32d><div><h1 id="file-name-conventions" tabindex="-1">File Name Conventions <a class="header-anchor" href="#file-name-conventions" aria-label="Permalink to &quot;File Name Conventions&quot;"></a></h1><div><section class="border-b-1 border-[var(--vp-c-divider)] w-full border-b-solid mt-[24px] pb-[12px] flex gap-[12px] mb-[12px] flex-wrap max-w-[85%]"><div class="flex gap-[4px] items-center"><svg style="display:inline-block;" viewBox="0 0 16 16" width="1.2em" height="1.2em"><path fill="currentColor" d="M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm.847-8.145a2.502 2.502 0 1 0-1.694 0C5.471 8.261 4 9.775 4 11c0 .395.145.995 1 .995h6c.855 0 1-.6 1-.995c0-1.224-1.47-2.74-3.153-3.145Z"></path></svg> Author:<span>Anda Toshiki</span></div><!----><div class="flex gap-[4px] items-center"><svg style="display:inline-block;" viewBox="0 0 15 15" width="1.2em" height="1.2em"><path fill="currentColor" fill-rule="evenodd" d="M1.903 7.297c0 3.044 2.207 5.118 4.686 5.547a.521.521 0 1 1-.178 1.027C3.5 13.367.861 10.913.861 7.297c0-1.537.699-2.745 1.515-3.663c.585-.658 1.254-1.193 1.792-1.602H2.532a.5.5 0 0 1 0-1h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V2.686l-.001.002c-.572.43-1.27.957-1.875 1.638c-.715.804-1.253 1.776-1.253 2.97Zm11.108.406c0-3.012-2.16-5.073-4.607-5.533a.521.521 0 1 1 .192-1.024c2.874.54 5.457 2.98 5.457 6.557c0 1.537-.699 2.744-1.515 3.663c-.585.658-1.254 1.193-1.792 1.602h1.636a.5.5 0 1 1 0 1h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 1 1 1 0v1.845h.002c.571-.432 1.27-.958 1.874-1.64c.715-.803 1.253-1.775 1.253-2.97Z" clip-rule="evenodd"></path></svg> Updated:<span>2 minutes ago</span></div><div class="flex gap-[4px] items-center"><svg style="display:inline-block;" viewBox="0 0 16 16" width="1.2em" height="1.2em"><path fill="currentColor" d="M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.485 6.879l1.036 4.144l.997-3.655a.5.5 0 0 1 .964 0l.997 3.655l1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 9.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z"></path></svg> Words:<span>1.2k</span></div><div class="flex gap-[4px] items-center"><svg style="display:inline-block;" viewBox="0 0 20 20" width="1.2em" height="1.2em"><path fill="currentColor" d="M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm2.5 14.5L9 11V4h2v6l3 3z"></path></svg> Reading:<span>7 min</span></div></section></div><blockquote><p>A collection of guidelines for writing file names used in web projects.</p></blockquote><h2 id="possible-characters" tabindex="-1">Possible characters <a class="header-anchor" href="#possible-characters" aria-label="Permalink to &quot;Possible characters&quot;"></a></h2><h3 id="use-dashes-as-delimiters" tabindex="-1">Use dashes as delimiters <a class="header-anchor" href="#use-dashes-as-delimiters" aria-label="Permalink to &quot;Use dashes as delimiters&quot;"></a></h3><ul><li>You should use dashes (-) as delimiters.</li><li>Periods are allowed in some cases, such as for languages and conditions.</li><li>Never use spaces or underscores. Spaces are converted to %20 in URLs or can break an URL when shared. Underscores are difficult to see when the file name is displayed as an underlined link. Although the use of underscores does not impact your ranking that much, <a href="https://www.youtube.com/watch?v=AQcSFsQyct8" target="_blank" rel="noreferrer">Google advices not to use underscores</a>.</li><li>Exceptions apply for functional requirements, such as for <a href="http://sass-lang.com/guide#topic-4" target="_blank" rel="noreferrer">Sass partials</a>. A leading underscore informs the Sass compiler a file is only a partial file and should never be generated into a stand alone CSS file.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">file-name-with-dashes.en.min.html</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">file-name-with-dashes.en.min.html</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><h3 id="do-not-use-special-characters" tabindex="-1">Do not use special characters <a class="header-anchor" href="#do-not-use-special-characters" aria-label="Permalink to &quot;Do not use special characters&quot;"></a></h3><p>Avoid using non-alphanumeric characters in file names, such as: &#39;<code>*</code>&#39; &#39;<code>:</code>&#39; &#39;<code>\</code>&#39; &#39;<code>/</code>&#39; &#39;<code>&lt;</code>&#39; &#39;<code>&gt;</code>&#39; &#39;<code>|</code>&#39; &#39;<code>&quot;</code>&#39; &#39;<code>!</code>&#39; &#39;<code>?</code>&#39; &#39;<code>[</code>&#39; &#39;<code>]</code>&#39; &#39;<code>;</code>&#39; &#39;<code>=</code>&#39; &#39;<code>+</code>&#39; &#39;<code>&amp;</code>&#39; &#39;<code>£</code>&#39; &#39;<code>$</code>&#39; &#39;<code></code>&#39; &#39;<code>%</code>&#39; or &#39;<code>,</code>&#39;. These characters can have special meaning in programming languages or can cause problems with different operating systems.</p><h3 id="use-lowercase-never-uppercase" tabindex="-1">Use lowercase, never uppercase <a class="header-anchor" href="#use-lowercase-never-uppercase" aria-label="Permalink to &quot;Use lowercase, never uppercase&quot;"></a></h3><p>We should always consider URLs as case-sensitive according to <a href="http://www.w3.org/TR/WD-html40-970708/htmlweb.html" target="_blank" rel="noreferrer">W3.org</a>. Therefore, use lowercase to reduces errors when typing URLs.</p><h2 id="write-sections-of-a-file-name-in-a-consistent-order" tabindex="-1">Write sections of a file name in a consistent order <a class="header-anchor" href="#write-sections-of-a-file-name-in-a-consistent-order" aria-label="Permalink to &quot;Write sections of a file name in a consistent order&quot;"></a></h2><p>Sections should be written in this order:</p><ol><li>Description</li><li>Number</li><li>Date</li><li>Target device, image size, pixel density</li><li>Version number</li><li>Status</li><li>Language code</li><li>File conditions</li></ol><p><strong>Possible combinations</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description-01-20150102-palm-1.0b-draft.en.min.js /* extreme combination */</span></span>
<span class="line"><span style="color:#adbac7;">description.min.js</span></span>
<span class="line"><span style="color:#adbac7;">description.en.html</span></span>
<span class="line"><span style="color:#adbac7;">description-01.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-02.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-1024x768_2x.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-desk_2x.jpg</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description-01-20150102-palm-1.0b-draft.en.min.js /* extreme combination */</span></span>
<span class="line"><span style="color:#24292e;">description.min.js</span></span>
<span class="line"><span style="color:#24292e;">description.en.html</span></span>
<span class="line"><span style="color:#24292e;">description-01.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-02.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-1024x768_2x.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-desk_2x.jpg</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><h3 id="write-description-for-developers-and-users" tabindex="-1">Write description for developers and users <a class="header-anchor" href="#write-description-for-developers-and-users" aria-label="Permalink to &quot;Write description for developers and users&quot;"></a></h3><p>Don&#39;t be afraid to write long informative file names. Few people type a file name manually and most operating systems support <a href="http://en.wikipedia.org/wiki/Comparison_of_file_systems" target="_blank" rel="noreferrer">255 characters</a>. But only add information that makes it easy for users and developers to recognize files from one another at a glance. For the description use information such as:</p><ul><li>type of data</li><li>project name or acronym</li><li>subjects</li><li>people&#39;s names</li><li>characteristics</li><li>location</li></ul><blockquote><p><strong>Give your images detailed, informative filenames</strong> The filename can give Google clues about the subject matter of the image. Try to make your filename a good description of the subject matter of the image. For example, my-new-black-kitten.jpg is a lot more informative than IMG00023.JPG. Descriptive filenames can also be useful to users: If we&#39;re unable to find suitable text in the page on which we found the image, we&#39;ll use the filename as the image&#39;s snippet in our search results. - <a href="https://support.google.com/webmasters/answer/114016?hl=en" target="_blank" rel="noreferrer">Google, 2015, Image publishing guidelines</a></p></blockquote><h4 id="keep-people-s-names-compact" tabindex="-1">Keep people&#39;s names compact <a class="header-anchor" href="#keep-people-s-names-compact" aria-label="Permalink to &quot;Keep people&#39;s names compact&quot;"></a></h4><p>Sometimes you want to include the name of a person in the file name, e.g. the author or the person in the photo.</p><ul><li>Write names without word delimiters.</li><li>Only write initials for the first name and write the last name in full. There are two exceptions: (1) when the last name or final file name is very long you may use initials for the last name; (2) when there is already a person with the same combination, you may write the first name in full.</li><li>If people have exactly the same name written in full, you can add a number: firstnamelastname2.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">bvandebiezen.jpg</span></span>
<span class="line"><span style="color:#adbac7;">shoogenhout.jpg</span></span>
<span class="line"><span style="color:#adbac7;">a-very-long-description-with-name-bvdb.jpg</span></span>
<span class="line"><span style="color:#adbac7;">asmith.jpg</span></span>
<span class="line"><span style="color:#adbac7;">adamsmith.jpg</span></span>
<span class="line"><span style="color:#adbac7;">adamsmith2.jpg</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">bvandebiezen.jpg</span></span>
<span class="line"><span style="color:#24292e;">shoogenhout.jpg</span></span>
<span class="line"><span style="color:#24292e;">a-very-long-description-with-name-bvdb.jpg</span></span>
<span class="line"><span style="color:#24292e;">asmith.jpg</span></span>
<span class="line"><span style="color:#24292e;">adamsmith.jpg</span></span>
<span class="line"><span style="color:#24292e;">adamsmith2.jpg</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><h3 id="use-two-or-more-digits-to-distinguish-sequential-files-with-the-same-description" tabindex="-1">Use two or more digits to distinguish sequential files with the same description <a class="header-anchor" href="#use-two-or-more-digits-to-distinguish-sequential-files-with-the-same-description" aria-label="Permalink to &quot;Use two or more digits to distinguish sequential files with the same description&quot;"></a></h3><ul><li>Start number with a dash as a delimiter.</li><li>Add a zero to single digit numbers, e.g. &#39;01&#39; instead of &#39;1&#39;.</li><li>Numbers may also be placed before the description if needed. A dash will still be used as delimiter with the description.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description-01.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-02.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-03.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-04.jpg</span></span>
<span class="line"><span style="color:#adbac7;"></span></span>
<span class="line"><span style="color:#adbac7;">01-description.jpg</span></span>
<span class="line"><span style="color:#adbac7;">02-description.jpg</span></span>
<span class="line"><span style="color:#adbac7;">03-description.jpg</span></span>
<span class="line"><span style="color:#adbac7;">04-description.jpg</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description-01.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-02.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-03.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-04.jpg</span></span>
<span class="line"><span style="color:#24292e;"></span></span>
<span class="line"><span style="color:#24292e;">01-description.jpg</span></span>
<span class="line"><span style="color:#24292e;">02-description.jpg</span></span>
<span class="line"><span style="color:#24292e;">03-description.jpg</span></span>
<span class="line"><span style="color:#24292e;">04-description.jpg</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div><h3 id="keep-dates-or-date-ranges-compact-and-start-with-year" tabindex="-1">Keep dates or date ranges compact and start with year <a class="header-anchor" href="#keep-dates-or-date-ranges-compact-and-start-with-year" aria-label="Permalink to &quot;Keep dates or date ranges compact and start with year&quot;"></a></h3><ul><li>Write dates without delimiters.</li><li>Always use four digits for years, two digits for months and two digits for days.</li><li>Start with year, then month, and end with day if available: yyyymmdd, yyyymm, or yyyy. This makes sure similar file names are sorted by date when sorted alphabetically.</li><li>Use a double dash to separate two dates describing an interval: yyyy--yyyy. Start with the earliest date.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description-20150401.php</span></span>
<span class="line"><span style="color:#adbac7;">description-201504.php</span></span>
<span class="line"><span style="color:#adbac7;">description-2015.php</span></span>
<span class="line"><span style="color:#adbac7;">description-2000--2010.php</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description-20150401.php</span></span>
<span class="line"><span style="color:#24292e;">description-201504.php</span></span>
<span class="line"><span style="color:#24292e;">description-2015.php</span></span>
<span class="line"><span style="color:#24292e;">description-2000--2010.php</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><p>See <a href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank" rel="noreferrer">&#39;ISO 8601&#39;</a> for further reading.</p><h3 id="use-special-modifiers-for-target-devices-image-sizes-or-media-queries-and-pixel-densities" tabindex="-1">Use special modifiers for target devices, image sizes or media queries, and pixel densities. <a class="header-anchor" href="#use-special-modifiers-for-target-devices-image-sizes-or-media-queries-and-pixel-densities" aria-label="Permalink to &quot;Use special modifiers for target devices, image sizes or media queries, and pixel densities.&quot;"></a></h3><p>Modifiers are inspired by <a href="https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/LoadingResources/ImageSoundResources/ImageSoundResources.html#//apple_ref/doc/uid/10000051i-CH7-SW1" target="_blank" rel="noreferrer">Apple iOS naming conventions</a>. There are some differences. Apple uses &#39;<code>@</code>&#39;as a delimiter for the section indicating higher resolution images, for example &#39;<code>@2x</code>&#39; for retina images. Because &#39;<code>@</code>&#39; is a reserved character and can create problems, we use <a href="http://bourbon.io/docs/#retina-image" target="_blank" rel="noreferrer">Bourbon&#39;s convention</a>: an underscore. Also, Apple uses a tilde (<code>~</code>) as a delimiter for a section indicating specific devices. Because also a tilde can create problems, we suggest to simply use a dash.</p><ul><li>Order should be: (<code>1</code>) target device or media query, (<code>2</code>) size, (<code>3</code>) pixel density.</li><li>Start target device or media queries with a dash (<code>-</code>) as delimiter.</li><li>Start image sizes with a dash (<code>-</code>) as delimiter.</li><li>Start pixel density with an underscore (<code>_</code>) as delimiter, for example &#39;<code>_2x</code>&#39; or &#39;<code>_3x</code>&#39;.</li><li>When only a width or height is available or applicable, add a &#39;<code>w</code>&#39; for width or &#39;<code>h</code>&#39; for height directly after the the amount of pixels.</li><li>When both measurements are available, do not add a &#39;<code>w</code>&#39; or &#39;h&#39; and separate the width and height with an &#39;<code>x</code>&#39;.</li><li>When both the width and height should not exceed a dimension but the images should keep the original aspect ratio, add a &#39;<code>max</code>&#39; (maximum) after the amount of pixels.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description_2x.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-lap.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-desk.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-lap_2x.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-palm-1024w_2x.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-iphone5-568h_2x.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-palm-1024x768_2x.jpg</span></span>
<span class="line"><span style="color:#adbac7;">description-40max.jpg</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description_2x.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-lap.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-desk.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-lap_2x.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-palm-1024w_2x.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-iphone5-568h_2x.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-palm-1024x768_2x.jpg</span></span>
<span class="line"><span style="color:#24292e;">description-40max.jpg</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><h3 id="use-version-numbers-if-available" tabindex="-1">Use version numbers if available <a class="header-anchor" href="#use-version-numbers-if-available" aria-label="Permalink to &quot;Use version numbers if available&quot;"></a></h3><ul><li>Start version with a dash (<code>-</code>) as delimiter.</li><li>Use periods (<code>.</code>) to separate point releases.</li><li>Always add trailing zeros to major releases, e.g. &#39;<code>2.0</code>&#39; instead of &#39;<code>2</code>&#39;.</li><li>Types, such as &#39;<code>a</code>&#39; (alpha), &#39;<code>b</code>&#39; (beta), &#39;rc1&#39; (release candidate 1) can be added without delimiters.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description-0.5.js</span></span>
<span class="line"><span style="color:#adbac7;">description-1.0b.js</span></span>
<span class="line"><span style="color:#adbac7;">description-1.0rc1.js</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description-0.5.js</span></span>
<span class="line"><span style="color:#24292e;">description-1.0b.js</span></span>
<span class="line"><span style="color:#24292e;">description-1.0rc1.js</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><h3 id="add-status-when-needed" tabindex="-1">Add status when needed <a class="header-anchor" href="#add-status-when-needed" aria-label="Permalink to &quot;Add status when needed&quot;"></a></h3><ul><li>You can optionally add a file status such as &#39;<code>draft</code>&#39; and &#39;<code>published</code>&#39;.</li><li>Start status with a dash.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description-draft.md</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description-draft.md</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><h3 id="add-language-code-only-when-different-languages-are-available" tabindex="-1">Add language code only when different languages are available <a class="header-anchor" href="#add-language-code-only-when-different-languages-are-available" aria-label="Permalink to &quot;Add language code only when different languages are available&quot;"></a></h3><ul><li>Use a period to separate the language code from the rest of the file name.</li><li>Use <a href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes" target="_blank" rel="noreferrer">ISO 639-1</a>, two-letter codes, for languages.</li><li>Only add languages when different languages are available.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description.nl.txt</span></span>
<span class="line"><span style="color:#adbac7;">description.en.txt</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description.nl.txt</span></span>
<span class="line"><span style="color:#24292e;">description.en.txt</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><h3 id="add-file-conditions-just-before-the-file-extension" tabindex="-1">Add file conditions just before the file extension <a class="header-anchor" href="#add-file-conditions-just-before-the-file-extension" aria-label="Permalink to &quot;Add file conditions just before the file extension&quot;"></a></h3><ul><li>The file condition should be the last part, just before the file extension.</li><li>Use a period (<code>.</code>) to separate the condition from the rest of the file name.</li><li>Use periods (<code>.</code>) as a delimiter for different conditions.</li></ul><p><strong>Right:</strong></p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">description.min.js</span></span>
<span class="line"><span style="color:#adbac7;">description.custom1234.min.js</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">description.min.js</span></span>
<span class="line"><span style="color:#24292e;">description.custom1234.min.js</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><h2 id="rewrite-original-file-names-not-following-conventions" tabindex="-1">Rewrite original file names not following conventions <a class="header-anchor" href="#rewrite-original-file-names-not-following-conventions" aria-label="Permalink to &quot;Rewrite original file names not following conventions&quot;"></a></h2><p>It is not preferred to keep file names in it&#39;s original format if it doesn&#39;t match your file name conventions. But in some cases it is easier to keep the file name untouched. Sometimes you want to easily replace a file with a newer one from the original source in the future.</p></div></div></main><footer class="VPDocFooter" data-v-39e6c32d data-v-bae355c8><!--[--><!--[--><!--[--><!--[--><!----><!--]--><!--]--><!--]--><!--]--><div class="edit-info" data-v-bae355c8><div class="edit-link" data-v-bae355c8><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/andatoshiki/toshiki-notebook/edit/master/docs/development/file-naming-convention.md" target="_blank" rel="noreferrer" data-v-bae355c8><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" aria-label="edit icon" data-v-bae355c8><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--></a></div><div class="last-updated" data-v-bae355c8><p class="VPLastUpdated" data-v-bae355c8 data-v-ec8405ef>Last updated: <time datetime="2024-09-15T15:08:21.000Z" data-v-ec8405ef></time></p></div></div><nav class="prev-next" data-v-bae355c8><div class="pager" data-v-bae355c8><!----></div><div class="pager" data-v-bae355c8><a class="pager-link next" href="/development/rclone-for-r2" data-v-bae355c8><span class="desc" data-v-bae355c8>Next page</span><span class="title" data-v-bae355c8>RClone for R2</span></a></div></nav></footer><!--[--><!--[--><!--[--><div id="comment-container"></div><!--]--><!--]--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-f6284a77 data-v-b69a1592><div class="container" data-v-b69a1592><p class="message" data-v-b69a1592>Wrote with <i class="heart fa fa-heart fa-xs fa-beat"></i> and <i class="coffee fa fa-coffee fa-xs" aria-hidden="true"></i> by <a href="https://toshiki.dev">Anda Toshiki</a> at <code>root@andatoshiki:/~</code></p><p class="copyright" data-v-b69a1592>Copyright © 2023-2024 <a href="https://github.com/andatoshiki">Anda Toshiki</a>, <a href="https://github.com/lolilab">LoliLab</a> and <a href="https://github.com/toshikidev">Toshiki Dev</a> present <br /><span id="siteruntime_span"></span></p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"academic_chemistry_index.md\":\"eaf7a33b\",\"academic_cis105_cis105-l5-lecture-note.md\":\"9b9219b4\",\"academic_cis105_cis105-l8-lecture-note.md\":\"b1bebcb0\",\"academic_physics_index.md\":\"7a2b6e3f\",\"academic_cis105_index.md\":\"2d590935\",\"academic_cis105_cis105-l11-lecture-note.md\":\"efa2e0f5\",\"academic_cis105_cis105-l3-lecture-note.md\":\"369bc7a8\",\"application_vitepress-plugin-shiki-twoslash_api_errors.md\":\"bf12f35d\",\"application_vitepress-plugin-shiki-twoslash_guide_custom-theme.md\":\"4c4dab32\",\"academic_cis105_cis105-l15-lecture-note.md\":\"17397f7e\",\"academic_cis105_cis105-l10-lecture-note.md\":\"8b8c8054\",\"academic_cis105_cis105-l9-lecture-note.md\":\"1f2137e6\",\"academic_cis105_cis105-l13-lecture-note.md\":\"c7031683\",\"academic_cis105_cis105-l1-lecture-note.md\":\"d751cfd2\",\"academic_cis105_cis105-l6-pt1-lecture-note.md\":\"b0cb6c83\",\"academic_literature_writing_methods-of-development.md\":\"b98bd60b\",\"academic_literature_index.md\":\"2123b5df\",\"academic_cis105_cis105-l7-lecture-note.md\":\"027ce032\",\"academic_cis105_cis105-l14-lecture-note.md\":\"98a8c460\",\"academic_cis105_cis105-l6-pt2-lecture-note.md\":\"053f0469\",\"academic_cis105_cis105-l12-lecture-note.md\":\"6ccd8591\",\"academic_chemistry_problems_03-02-3.md\":\"a3a60e46\",\"academic_chemistry_problems_03-02-2.md\":\"09f0bd2f\",\"application_vitepress-plugin-shiki-twoslash_api_annotations.md\":\"3fcc13d5\",\"academic_chemistry_notes_12-5.md\":\"133f958d\",\"development_aws_index.md\":\"bc020d4f\",\"academic_physics_ipho-formulas-jpn_9.md\":\"04665c58\",\"academic_physics_ipho-formulas-jpn_12.md\":\"7492c8e8\",\"academic_physics_ipho-formulas-jpn_2.md\":\"a145313b\",\"academic_cis105_cis105-l17-lecture-note.md\":\"5cce7483\",\"academic_cis105_cis105-l4-lecture-note.md\":\"d7efa4f3\",\"academic_chemistry_problems_03-02-1.md\":\"7f370d49\",\"academic_physics_ipho-formulas-jpn_3.md\":\"c9fec068\",\"academic_physics_ipho-formulas-jpn_5.md\":\"74d79ef3\",\"academic_cis105_cis105-l18-lecture-note.md\":\"ac5563a0\",\"academic_vocabulary_2023_02_2023-02-27.md\":\"c88c2ca5\",\"academic_physics_ipho-formulas-jpn_13.md\":\"4200d2a5\",\"academic_vocabulary_index.md\":\"87980ceb\",\"academic_physics_ipho-formulas-jpn_4.md\":\"416496f7\",\"academic_cis105_cis105-l2-lecture-note.md\":\"aa923bad\",\"application_markdown-it-katex_how-to-use.md\":\"6435072c\",\"application_vitepress-plugin-shiki-twoslash_api_types.md\":\"e6f330be\",\"application_vitepress-plugin-shiki-twoslash_api_cutting.md\":\"5f0713cf\",\"academic_physics_ipho-formulas-jpn_6.md\":\"d1b6ab79\",\"academic_chemistry_problems_02-20.md\":\"bb470ed5\",\"javascript_notes_1_1-1.md\":\"411cc6c4\",\"development_proxy4shell-terminal.md\":\"a2c5a7f2\",\"development_rclone-for-r2.md\":\"7bdf1843\",\"index.md\":\"33c1fea9\",\"development_aws_webserver.md\":\"10d6ab90\",\"development_aws_serverless.md\":\"3e692ead\",\"development_installing-npm-package-behind-proxy.md\":\"69c931f0\",\"development_aws_aws-batch.md\":\"a7bf0b5a\",\"development_file-naming-convention.md\":\"c45dd037\",\"development_aws_appendix.md\":\"9c8a2a3e\",\"development_aws_acknowledgement.md\":\"1bd2352c\",\"development_aws_assignments.md\":\"9b1d8815\",\"development_aws_author.md\":\"3aa72a76\",\"development_aws_scientific-computing.md\":\"6c84de0f\",\"application_vitepress-plugin-shiki-twoslash_index.md\":\"fb422c0f\",\"save_reading_outliers_4.md\":\"01441751\",\"academic_physics_ipho-formulas-jpn_8.md\":\"da8ef6cf\",\"development_aws_cloud.md\":\"f62df0c3\",\"development_aws_docker-system.md\":\"084f532e\",\"academic_physics_ipho-formulas-jpn_11.md\":\"d8ab0068\",\"development_aws_handson-bashoutter.md\":\"47db03a2\",\"academic_physics_ipho-formulas-jpn_10.md\":\"8a06aa9f\",\"application_vitepress-plugin-shiki-twoslash_config_reference.md\":\"2c6144c4\",\"application_vitepress-plugin-shiki-twoslash_api_multi-file.md\":\"f5f14664\",\"application_vitepress-plugin-shiki-twoslash_api_queries.md\":\"46f775c4\",\"academic_physics_ipho-formulas-jpn_7.md\":\"2770b4ef\",\"development_git-push-authentication-failed.md\":\"e96d0b7a\",\"application_vitepress-plugin-shiki-twoslash_api_emit.md\":\"6aa5a8e8\",\"academic_cis105_cis105-l16-lecture-note.md\":\"db253585\",\"application_markdown-it-katex_tips.md\":\"5c22f986\",\"development_aws_handson-serverless.md\":\"c0a699a5\",\"save_reading_outliers_3.md\":\"05cadcf5\",\"roadmap.md\":\"c8af5674\",\"development_aws_aws-get-started.md\":\"f00c5daf\",\"jp_index.md\":\"d91e144b\",\"application_vitepress-plugin-shiki-twoslash_api_includes.md\":\"cf3e1cd9\",\"development_aws_handson-jupyter.md\":\"793093bf\",\"application_vitepress-plugin-shiki-twoslash_api_logging.md\":\"08a95b4b\",\"development_aws_closing.md\":\"2001a130\",\"development_aws_handson-qabot.md\":\"0cbf99e5\",\"save_reading_index.md\":\"376eccf7\",\"development_aws_license.md\":\"b45b2cf9\",\"javascript_notes_1_1-2.md\":\"afd7f19f\",\"development_aws_handson-ec2.md\":\"7ef55b61\",\"save_reading_outliers_2.md\":\"6c245540\",\"application_vitepress-plugin-shiki-twoslash_config_flags.md\":\"f97f7604\",\"application_vitepress-plugin-shiki-twoslash_guide_markdown-extensions.md\":\"b3948c48\",\"save_reading_outliers_1.md\":\"0757293d\",\"development_aws_main.md\":\"ab51cd9f\",\"academic_physics_ipho-formulas-jpn_1.md\":\"a623381d\",\"application_markdown-it-katex_support-function.md\":\"de98d58a\",\"application_markdown-it-katex_support-table.md\":\"d599218a\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Toshiki's Note\",\"description\":\"Toshiki's web notebook served via Vitepress!\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Development\",\"link\":\"/development/file-naming-convention\"},{\"text\":\"Academic\",\"items\":[{\"text\":\"K-12\",\"items\":[{\"text\":\"Chemistry\",\"link\":\"/academic/chemistry/index\",\"activeMatch\":\"/academic/chemistry/\"},{\"text\":\"Discrete Math.\",\"link\":\"/discrete-math/index\",\"activeMatch\":\"/categories/fragments/\"},{\"text\":\"Literature\",\"link\":\"/academic/literature/index\",\"activeMatch\":\"/academic/literature/\"},{\"text\":\"CIS105\",\"link\":\"/academic/cis105/index\",\"activeMatch\":\"/academic/cis105/\"}]},{\"text\":\"Tools\",\"items\":[{\"text\":\"Formulas for IPhO JPN.\",\"link\":\"/academic/physics/ipho-formulas-jpn/1\",\"activeMatch\":\"/academic/physics/ipho-formulas-jpn/\"}]},{\"text\":\"\",\"link\":\"\",\"activeMatch\":\"\"},{\"text\":\"\",\"link\":\"\",\"activeMatch\":\"\"},{\"text\":\"\",\"link\":\"\",\"activeMatch\":\"\"},{\"text\":\"\",\"link\":\"\",\"activeMatch\":\"\"},{\"text\":\"\",\"link\":\"\",\"activeMatch\":\"\"},{\"text\":\"\",\"link\":\"\",\"activeMatch\":\"\"},{\"text\":\"\",\"link\":\"\",\"activeMatch\":\"\"}],\"activeMatch\":\"/academic/\"},{\"text\":\"Application\",\"items\":[{\"text\":\"Personal projects\",\"items\":[{\"text\":\"markdown-it-katex\",\"link\":\"/application/markdown-it-katex/how-to-use\",\"activeMatch\":\"/application/markdown-it-katex/\"},{\"text\":\"vitepress-plugin-shiki-twoslash\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/index\",\"activeMatch\":\"/application/vitepress-plugin-shiki-twoslash/index\"}]}],\"activeMatch\":\"/save/\"},{\"text\":\"Save\",\"items\":[{\"text\":\"Reading\",\"link\":\"/save/reading/index\",\"activeMatch\":\"/save/reading/\"},{\"text\":\"Vocabulary\",\"link\":\"/academic/vocabulary/index\",\"activeMatch\":\"/academic/vocabulary/\"}],\"activeMatch\":\"/save/\"}],\"sidebar\":{\"/development/\":[{\"text\":\"Notes & Issues\",\"collapsed\":false,\"items\":[{\"text\":\"File Naming Convention\",\"link\":\"/development/file-naming-convention\"},{\"text\":\"RClone for R2\",\"link\":\"/development/rclone-for-r2\"},{\"text\":\"Proxies Configuration for Shells & Terminal\",\"link\":\"/development/proxy4shell-terminal\"},{\"text\":\"Git push results in \\\"Authentication Failed\\\"\",\"link\":\"/development/git-push-authentication-failed\"},{\"text\":\"Installing NPM Packages Behind Proxy\",\"link\":\"/development/installing-npm-package-behind-proxy\"}]},{\"text\":\"コードで学ぶAWS入門\",\"collapsed\":false,\"items\":[{\"text\":\"背景\",\"link\":\"/development/aws/index\"},{\"text\":\"はじめに!\",\"link\":\"/development/aws/main\"},{\"text\":\"クラウド概論\",\"link\":\"/development/aws/cloud.md\"},{\"text\":\"AWS 入門\",\"link\":\"/development/aws/aws-get-started\"},{\"text\":\"Hands-on 1: 初めての EC2 インスタンスを起動する\",\"link\":\"/development/aws/handson-ec2.md\"},{\"text\":\"クラウドで行う科学計算・機械学習\",\"link\":\"/development/aws/scientific-computing.md\"},{\"text\":\"Hands-on 2: AWS でディープラーニングを実践\",\"link\":\"/development/aws/handson-ec2.md\"},{\"text\":\"Docker 入門\",\"link\":\"/development/aws/docker-system\"},{\"text\":\"Hands-on 3: AWS で自動質問回答ボットを走らせる\",\"link\":\"/development/aws/handson-qabot\"},{\"text\":\"Hands-on 4: AWS Batch を使って機械学習のハイパーパラメータサーチを並列化する\",\"link\":\"/development/aws/aws-batch\"},{\"text\":\"Web サービスの作り方\",\"link\":\"/development/aws/webserver\"},{\"text\":\"Serverless architecture\",\"link\":\"/development/aws/serverless\"},{\"text\":\"Hands-on 5: サーバーレス入門\",\"link\":\"/development/aws/handson-serverless\"},{\"text\":\"Hands-on 6: Bashoutter\",\"link\":\"/development/aws/handson-bashoutter\"},{\"text\":\"まとめ\",\"link\":\"/development/aws/closing\"},{\"text\":\"ppendix: 環境構築\",\"link\":\"/development/aws/appendix\"},{\"text\":\"謝辞\",\"link\":\"/development/aws/acknowledgement\"}]}],\"/academic/chemistry/\":[{\"text\":\"Textbook\",\"collapsed\":true,\"items\":[{\"text\":\"12-5: Reaction Mechanism\",\"link\":\"/academic/chemistry/notes/12-5\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"}]},{\"text\":\"Kinetics\",\"collapsed\":false,\"items\":[{\"text\":\"Rate determining steps\",\"link\":\"/academic/chemistry/notes/kinetics/rate-determining-step\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"}]},{\"text\":\"Problems & Solutions\",\"collapsed\":true,\"items\":[{\"text\":\"Problem: 02-20\",\"link\":\"/academic/chemistry/problems/02-20\"},{\"text\":\"Problem: 03-02-1\",\"link\":\"/academic/chemistry/problems/03-02-1\"},{\"text\":\"Problem: 03-02-2\",\"link\":\"/academic/chemistry/problems/03-02-2\"},{\"text\":\"Problem: 03-02-3\",\"link\":\"/academic/chemistry/problems/03-02-3\"}]}],\"/academic/physics\":[{\"text\":\"IPhO Formulas: JP Ver.\",\"collapsed\":false,\"items\":[{\"text\":\"1: 数学\",\"link\":\"/academic/physics/ipho-formulas-jpn/1\"},{\"text\":\"2: 一般的な推奨事\",\"link\":\"/academic/physics/ipho-formulas-jpn/2\"},{\"text\":\"3: 運動学\",\"link\":\"/academic/physics/ipho-formulas-jpn/3\"},{\"text\":\"4: 力学\",\"link\":\"/academic/physics/ipho-formulas-jpn/4\"},{\"text\":\"5: 振動と波\",\"link\":\"/academic/physics/ipho-formulas-jpn/5\"},{\"text\":\"6: 幾何光学,測光\",\"link\":\"/academic/physics/ipho-formulas-jpn/6\"},{\"text\":\"7: 波動光学\",\"link\":\"/academic/physics/ipho-formulas-jpn/7\"},{\"text\":\"8: 電気回路\",\"link\":\"/academic/physics/ipho-formulas-jpn/8\"},{\"text\":\"9: 電磁気学\",\"link\":\"/academic/physics/ipho-formulas-jpn/9\"},{\"text\":\"10: 熱力\",\"link\":\"/academic/physics/ipho-formulas-jpn/10\"},{\"text\":\"11: 量子力学\",\"link\":\"/academic/physics/ipho-formulas-jpn/11\"},{\"text\":\"12: Keplerの法則\",\"link\":\"/academic/physics/ipho-formulas-jpn/12\"},{\"text\":\"13: 相対性理論\",\"link\":\"/academic/physics/ipho-formulas-jpn/13\"}]}],\"/academic/cis105/\":[{\"text\":\"CIS 105: Computer Applications and Information Technology\",\"collapsed\":false,\"items\":[{\"text\":\"Course Overview & Schedule\",\"link\":\"/academic/cis105/index\"},{\"text\":\"Lect 1: Everything Changes\",\"link\":\"/academic/cis105/cis105-l1-lecture-note\"},{\"text\":\"Lect 2: Application Software\",\"link\":\"/academic/cis105/cis105-l2-lecture-note\"},{\"text\":\"Lect 3: Computer Hardware\",\"link\":\"/academic/cis105/cis105-l3-lecture-note\"},{\"text\":\"Lect 4: Formulas and Functions\",\"link\":\"/academic/cis105/cis105-l4-lecture-note\"},{\"text\":\"Lect 5: Operating System\",\"link\":\"/academic/cis105/cis105-l5-lecture-note\"},{\"text\":\"Lect 6 Pt 1: System Software\",\"link\":\"/academic/cis105/cis105-l6-pt1-lecture-note\"},{\"text\":\"Lect 6 Pt 2: Logical Functions\",\"link\":\"/academic/cis105/cis105-l6-pt2-lecture-note\"},{\"text\":\"Lect 7: Green Business Computing\",\"link\":\"/academic/cis105/cis105-l7-lecture-note\"},{\"text\":\"Lect 8: Green Computer Networks\",\"link\":\"/academic/cis105/cis105-l8-lecture-note\"},{\"text\":\"Lect 9: Internet\",\"link\":\"/academic/cis105/cis105-l9-lecture-note\"},{\"text\":\"Lect 10: Business Websites\",\"link\":\"/academic/cis105/cis105-l10-lecture-note\"},{\"text\":\"Lect 11: Computer Security\",\"link\":\"/academic/cis105/cis105-l11-lecture-note\"},{\"text\":\"Lect 12: Introduction to SQL\",\"link\":\"/academic/cis105/cis105-l12-lecture-note\"},{\"text\":\"Lect 13: Information Systems in Business\",\"link\":\"/academic/cis105/cis105-l13-lecture-note\"},{\"text\":\"Lect 14: More SQL Statements\",\"link\":\"/academic/cis105/cis105-l14-lecture-note\"},{\"text\":\"Lect 15: Business System Reporting\",\"link\":\"/academic/cis105/cis105-l15-lecture-note\"},{\"text\":\"Lect 16: Information Technology Careers\",\"link\":\"/academic/cis105/cis105-l16-lecture-note\"},{\"text\":\"Lect 17: SQL Clauses: JOIN Query\",\"link\":\"/academic/cis105/cis105-l17-lecture-note\"},{\"text\":\"Lect 18: Databases\",\"link\":\"/academic/cis105/cis105-l18-lecture-note\"}]}],\"/academic/vocabulary/\":[{\"text\":\"Vocabulary\",\"collapsed\":true,\"items\":[{\"text\":\"2023-02-27\",\"link\":\"/academic/vocabulary/2023/02/2023-02-27\"}]}],\"/academic/literature/\":[{\"text\":\"Writing Resources\",\"collapsed\":true,\"items\":[{\"text\":\"Patterns of Organization and Methods of Development\",\"link\":\"/academic/literature/writing/methods-of-development\"}]}],\"/javascript/\":[{\"text\":\"1: Basic JavaScript-Value, Variables, and Control Flow\",\"collapsed\":true,\"items\":[{\"text\":\"1-1: Numbers\",\"link\":\"/javascript/notes/1/1-1\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"},{\"text\":\"\",\"link\":\"\"}]}],\"/save/reading/\":[{\"text\":\"Outliers\",\"collapsed\":true,\"items\":[{\"text\":\"Introduction & Chapter 1: The Roseto Mystery\",\"link\":\"/save/reading/outliers/1\"},{\"text\":\"Chapter 2: The 10,000-Hour Rule\",\"link\":\"/save/reading/outliers/2\"},{\"text\":\"Chapter 3: The Trouble with Geniuses, Part 1\",\"link\":\"/save/reading/outliers/3\"},{\"text\":\"Chapter 4: The Trouble with Geniuses, Part 2\",\"link\":\"/save/reading/outliers/4\"}]}],\"/application/markdown-it-katex/\":[{\"text\":\"markdown-it-katex\",\"collapsed\":false,\"items\":[{\"text\":\"1: How to use?\",\"link\":\"/application/markdown-it-katex/how-to-use\"},{\"text\":\"2: KaTeX supported functions\",\"link\":\"/application/markdown-it-katex/support-function\"},{\"text\":\"3: KaTeX support tables\",\"link\":\"/application/markdown-it-katex/support-table\"},{\"text\":\"4: Tips\",\"link\":\"/application/markdown-it-katex/tips\"}]}],\"/application/vitepress-plugin-shiki-twoslash/\":[{\"text\":\"Guide\",\"collapsed\":false,\"items\":[{\"text\":\"Getting Started\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/\"},{\"text\":\"Markdown Extensions\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/guide/markdown-extensions\"},{\"text\":\"Using a Custom Theme\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/guide/custom-theme\"}]},{\"text\":\"Features\",\"collapsed\":false,\"items\":[{\"text\":\"Queries\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/queries\"},{\"text\":\"Errors\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/errors\"},{\"text\":\"Emit\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/emit\"},{\"text\":\"Cutting\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/cutting\"},{\"text\":\"Multi-file\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/multi-file\"},{\"text\":\"@types\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/types\"},{\"text\":\"Meta Annotations\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/annotations\"},{\"text\":\"Logging\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/logging\"},{\"text\":\"Includes\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/api/includes\"}]},{\"text\":\"Config\",\"collapsed\":false,\"items\":[{\"text\":\"Reference\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/config/reference\"},{\"text\":\"Compiler Flags\",\"link\":\"/application/vitepress-plugin-shiki-twoslash/config/flags\"}]}]},\"footer\":{\"copyright\":\"Copyright © 2023-2024 <a href=\\\"https://github.com/andatoshiki\\\">Anda Toshiki</a>, <a href=\\\"https://github.com/lolilab\\\">LoliLab</a> and <a href=\\\"https://github.com/toshikidev\\\">Toshiki Dev</a> present <br /><span id=\\\"siteruntime_span\\\"></span>\",\"message\":\"Wrote with <i class=\\\"heart fa fa-heart fa-xs fa-beat\\\"></i> and <i class=\\\"coffee fa fa-coffee fa-xs\\\" aria-hidden=\\\"true\\\"></i> by <a href=\\\"https://toshiki.dev\\\">Anda Toshiki</a> at <code>root@andatoshiki:/~</code>\"},\"logo\":\"/logos/logo.png\",\"outline\":\"deep\",\"outlineTitle\":\"TOC\",\"outlineBadges\":false,\"lastUpdatedText\":\"Last updated\",\"algolia\":{\"appId\":\"G9IUR45K98\",\"apiKey\":\"8528cc91281d8112b28f508317a96dd3\",\"indexName\":\"toshiki-notebook\"},\"editLink\":{\"pattern\":\"https://github.com/andatoshiki/toshiki-notebook/edit/master/docs/:path\",\"text\":\"Edit this page on GitHub\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/andatoshiki\"},{\"icon\":\"twitter\",\"link\":\"https://twitter.com/andatoshiki\"}]},\"locales\":{\"/\":{\"label\":\"English\",\"lang\":\"en-US\"},\"/jp/\":{\"label\":\"Japanese\",\"title\":\"Vue Test Utils\",\"lang\":\"jp-JP\",\"description\":\"La documentation officielle de Vue Test Utils\"}},\"scrollOffset\":90,\"cleanUrls\":true}");</script>
</body>
</html>