<style>
/* Custom Style for Book Mode by Iweidieng Iep */
:root {
--topbar-height: 45px;
--topbar-button-width: 42px;
--sidebar-width: 360px;
--contact-bar-height: 50px;
--article-width: 800px;
--default-article-width: 760px;
--sidebar-always-float-width: 1520px;
}
/* Allow pull-to-refresh and prevent elements from being placed under the scroll bar */
html[lang] {
overflow: auto;
overflow: initial;
}
html[lang] > body[style] {
overflow: auto;
overflow: initial;
overflow-x: hidden;
font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
@keyframes titleHoverRepeat {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes slideDownIn {
0% {
transform: translatey(-20px);
}
100% {
transform: translatey(0);
}
}
@keyframes slideLeftIn {
0% {
transform: translatex(-20px);
}
100% {
transform: translatex(0);
}
}
@keyframes slideRightIn {
0% {
transform: translatex(20px);
}
100% {
transform: translatex(0);
}
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes upperHalfFadeIn {
0% {
opacity: 0;
}
100% {
opacity: .3;
}
}
@keyframes lowerHalfFadeIn {
0% {
opacity: .3;
}
100% {
opacity: 1;
}
}
.topbar {
position: relative;
top: 0;
height: var(--topbar-height);
width: 100%;
background: white;
border-bottom: solid 1px #B0BEC5;
box-shadow: none;
animation: fadeIn 1s both ease-out;
}
.book-container, .book-container.open {
position: relative;
margin-left: auto;
margin-right: 0;
padding-top: 0;
top: auto;
bottom: 0;
left: auto;
right: 0;
max-height: calc(100% - var(--topbar-height)) !important;
width: 100%;
overflow: hidden;
box-shadow: none;
overscroll-behavior: auto;
transition: all 1s;
}
/* Fix oversized window which makes the footer disappear on phones */
.book-container iframe, .book-container.open iframe {
max-height: calc(100% - var(--topbar-height)) !important;
animation: upperHalfFadeIn 1s both linear, lowerHalfFadeIn 1s forwards ease-out paused, slideDownIn 1s both ease-out paused;
}
.book-container iframe[loaded="true"] {
animation-play-state: running;
}
/* Fade out the book container when using the side bar on small screen */
.container-mask {
z-index: 2;
display: block;
left: 100%;
margin-left: 0;
background: #ffffffa0;
opacity: 0;
width: 100%;
transition: opacity 1s, left 0s linear 1s;
}
.summary.open ~ .container-mask {
left: 0;
opacity: 1;
transition: opacity 1s, left 0s linear;
}
/* The space is enough to allow browsing while side bar is open */
@media screen and (min-width: 799px) {
.summary.open ~ .container-mask {
left: 100%;
opacity: 0;
transition: opacity 1s, left 0s linear 1s;
}
.book-container {
top: auto;
bottom: 0;
left: auto;
right: 0;
}
.book-container.open {
width: calc(100% - var(--sidebar-width));
filter: none;
}
.book-container.open iframe {
width: calc(100% - var(--sidebar-width));
}
}
@media screen and (min-width: 1520px) {
.book-container.open, .book-container.open iframe {
width: 100%; /* The space is enough to avoid overlapping */
}
}
/* Side Bar Opening Button and other Action Buttons */
/* The search box */
.summary .toolbar .search {
flex: 1;
margin: auto;
min-width: 100px;
font-family: "Source Sans Pro", Helvetica, Arial, "PingFang TC", "Microsoft JhengHei", "微軟正黑", sans-serif;
}
/* Fade out the page body when using the search box */
.summary .toolbar .search::before {
display: block;
position: absolute;
content: "";
top: 0;
left: 0;
width: calc(100vw + var(--sidebar-width));
height: 100%;
z-index: 0;
background: #ffffffa0;
/* Leave space for the search box */
clip-path: polygon(0 var(--topbar-height), var(--sidebar-width) var(--topbar-height), var(--sidebar-width) 0, calc(100vw + var(--sidebar-width)) 0, calc(100vw + var(--sidebar-width)) 100%, 0 100%);
opacity: 0;
pointer-events: none;
transition: opacity 1s;
}
.summary.open .toolbar .search:focus-within::before {
opacity: 1;
}
.toolbar .ui-summary-search {
display: inline;
margin: auto 5px;
width: calc(100% - 5px * 2);
}
/* Other action buttons */
.summary .toolbar .ui-summary-action, .topbar .ui-summary-action {
position: relative;
display: flex;
align-items: stretch;
flex: 0;
border: none;
padding: 0;
opacity: 1;
background-color: transparent;
color: #555555;
font-weight: 900;
transition: all .5s;
}
.topbar .ui-summary-action {
animation: fadeIn 1s both ease-out .5s;
}
.summary .toolbar .ui-summary-action {
min-width: var(--topbar-button-width);
}
.summary .toolbar .ui-summary-action > .fa, .topbar .ui-summary-action > .fa {
display: inline;
margin: auto;
font-size: 1.2em;
}
/* The summary opening button */
.topbar > .ui-summary-open {
animation: none;
}
.topbar .ui-summary-open > span.visible-xs-inline {
display: none !important; /* Hide the text */
}
.topbar .ui-summary-open > .fa-angle-double-right::before {
content: "\f0c9"; /* Replace the icon with the icon of `.fa-bars` */
}
.summary.open ~ .topbar > .ui-summary-open {
opacity: 0;
pointer-events: none;
}
.summary .toolbar .ui-summary-action:hover, .topbar .ui-summary-action:hover {
background-color: #00bcd460;
}
.summary .toolbar .ui-summary-action:active, .topbar .ui-summary-action:active {
background-color: #00bcd4;
color: #ffffff;
transition: all .2s;
}
.topbar .ui-summary-action .fa {
padding-left: 15px;
padding-right: 15px;
}
@media screen and (min-width: 799px) {
.summary ~ .topbar > .ui-summary-open {
margin-left: calc(50% - var(--article-width) / 2);
}
.summary:hover ~ .topbar > .ui-summary-open {
opacity: 0;
pointer-events: none;
}
.summary:hover .toolbar .search:focus-within::before {
opacity: 1;
}
}
/* Side Bar */
.summary .toolbar, .topbar {
display: flex;
align-items: stretch;
justify-content: flex-start;
flex-flow: row wrap;
left: 0;
padding-left: 0;
padding-top: 0;
}
.summary .toolbar {
justify-content: flex-end;
top: 0;
height: var(--topbar-height);
z-index: 4;
background: #f2f3f5;
position: static;
text-align: right;
line-height: var(--topbar-height);
box-shadow: none;
border: none;
}
@media screen and (min-width: 799px) {
.summary .toolbar {
z-index: 4;
background: #f2f3f5;
top: 0;
height: var(--topbar-height);
}
.summary:hover ~ .topbar > .ui-summary-open {
opacity: 0;
pointer-events: none;
}
}
.summary {
position: absolute;
top: 0;
padding: 0;
border: none;
box-shadow: none;
background: transparent;
transition: all .5s;
overscroll-behavior: contain;
}
.summary, #summary > ul:last-of-type {
left: calc(0px - var(--sidebar-width));
width: var(--sidebar-width);
max-width: 100%;
}
.summary.open {
box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.summary.open, .summary.open #summary > ul:last-of-type {
left: 0;
}
.summary::after {
position: absolute;
display: block;
content: "© 2020 Iweidieng Iep";
bottom: calc(46.8px + 5px);
right: 25px;
z-index: 4;
color: #9e9e9e;
pointer-events: none;
transition: text-shadow;
}
.summary.open::after {
text-shadow: 0 6px 12px rgba(255, 255, 255, .175);
}
.summary #summary {
position: relative;
height: calc(100% - var(--topbar-height) - 46.8px);
overflow: auto;
}
html[lang] .summary #summary {
font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
.summary h1, .summary h2, .summary h3, .summary h4, .summary h5, .summary h6 {
font-weight: 580;
}
.summary #summary {
background: linear-gradient(to right, #FFFFFF00 1%, #FFFFFFFF 99%);
}
#summary > ul:first-of-type ~ * {
animation: fadeIn .5s both ease-out, slideDownIn .5s both ease-out;
}
#summary > ul:last-of-type {
background: linear-gradient(to right, #F3F3F300 1%, #F3F3F3FF 99%);
animation: none;
}
#summary > ul:last-of-type > li {
animation: fadeIn .5s both ease-out .5s, slideLeftIn .5s both ease-out .5s;
}
.summary #summary {
background-size: 200% 100%;
background-position: 0% 80%;
transition: all .5s;
}
#summary > ul:last-of-type {
background: linear-gradient(to right, #F3F3F300 1%, #F3F3F3FF 99%);
background-size: 200% 100%;
background-position: 0% 80%;
transition: all .5s;
}
.summary.open #summary, .summary.open #summary > ul:last-of-type {
background-size: 10000% 100%;
background-position: 99% 100%;
}
.summary:not(.open) #summary:not(:hover) {
overflow: hidden;
}
@media screen and (min-width: 799px) {
.summary, #summary > ul:last-of-type {
padding-top: 0;
padding-left: 0;
left: calc(0px - var(--sidebar-width) + 5px); /* Leave space for hovering-to-open action */
box-shadow: none;
}
.summary:hover {
box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.summary:hover::after {
text-shadow: 0 6px 12px rgba(255, 255, 255, .175);
}
.summary:hover, .summary:hover #summary > ul:last-of-type {
left: 0;
}
.summary #summary, .summary.open:not(:hover) #summary,
.summary #summary > ul:last-of-type, .summary.open:not(:hover) #summary > ul:last-of-type {
background-size: 10000% 100%;
background-position: 30% 31%;
}
.summary.open:not(:hover)::after {
text-shadow: none;
}
.summary:hover #summary, .summary:hover #summary > ul:last-of-type {
background-size: 10000% 100%;
background-position: 99% 100%;
}
}
/* Side Bar Items */
/* Title */
#summary > ul:first-of-type ~ h1 {
position: relative;
padding: 0;
}
#summary > ul:first-of-type ~ h1 * {
display: block;
margin: 0;
padding: 15px;
width: 100%;
}
/* Section Title */
#summary > ul:first-of-type ~ .collapsible {
z-index: 3;
}
#summary > ul:first-of-type ~ .collapsible + :not(.collapsible) {
position: relative;
top: -10%;
max-height: 0%;
opacity: 0;
z-index: 2;
transition: opacity .5s, top .5s;
animation: none;
}
/* Fix `.collapsed` causing `.collapsible` to be expanded instead of being collapsed */
/* Expanded by default */
#summary > ul:first-of-type ~ .collapsible:not(.collapsed) + :not(.collapsible) {
top: 0;
max-height: none;
opacity: 1;
}
#summary > ul:first-of-type ~ .collapsible .collapsible-icons .fa-angle-down::before {
content: "\f106"; /* `fa-angle-up */
}
#summary > ul:first-of-type ~ .collapsible.collapsed .collapsible-icons .fa-angle-down {
transform: rotate(180deg) translate(1px, 0);
}
#summary > ul:first-of-type ~ :not(ul)[data-startline] {
border-top: solid 1px #e7e7e7; /* Make space for the border */
border-image: radial-gradient(circle at 25%, #eceff1 50%, #fafafa) 1 0 0 0 / 1px 0 0 0; /* The actual border */
}
#summary > ul:first-of-type ~ .collapsible .collapsible-icons {
position: absolute;
left: calc(var(--sidebar-width) - 32px);
}
/* Hover and Active Effects */
/* Background fading effect */
#summary > ul:first-of-type ~ [data-startline],
#summary > ul:first-of-type ~ .collapsible + :not(.collapsible)[data-startline],
#summary > ul:first-of-type ~ * [data-startline],
#summary > ul:first-of-type ~ * .collapsible + :not(.collapsible)[data-startline] {
background-color: transparent;
transition: background-color .5s ease-out, opacity .5s, top .5s, left .5s, background-size .5s, background-position .5s;
}
#summary > ul:first-of-type ~ [data-startline]:hover:not(:active),
#summary > ul:first-of-type ~ .collapsible:hover:not(:active) + :not(.collapsible)[data-startline],
#summary > ul:first-of-type ~ * [data-startline]:hover:not(:active),
#summary > ul:first-of-type ~ * .collapsible:hover:not(:active) + :not(.collapsible)[data-startline] {
background-color: #00bcd420;
}
#summary > ul:first-of-type ~ [data-startline]:active,
#summary > ul:first-of-type ~ .collapsible:active + :not(.collapsible)[data-startline],
#summary > ul:first-of-type ~ * [data-startline]:active,
#summary > ul:first-of-type ~ * .collapsible:active + :not(.collapsible)[data-startline] {
transition: background-color .2s ease-out, opacity .5s, top .5s, left .5s, background-size .5s, background-position .5s;
}
/* Sliding effect and padding */
#summary > ul:first-of-type ~ :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ .collapsible + :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ * :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ * .collapsible + :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ .collapsible > .heading-span,
#summary > ul:first-of-type ~ * .collapsible > .heading-span {
border-left: 6px solid transparent;
border-right: 6px solid transparent;
transition: all .5s ease-out;
}
#summary > ul:first-of-type ~ :not(.collapsible):not(ul)[data-startline]:hover:not(:active),
#summary > ul:first-of-type ~ .collapsible:hover:not(:active) + :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ * :not(.collapsible):not(ul)[data-startline]:hover:not(:active),
#summary > ul:first-of-type ~ * .collapsible:hover:not(:active) + :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ .collapsible:hover:not(:active) > .heading-span,
#summary > ul:first-of-type ~ * .collapsible:hover:not(:active) > .heading-span {
border-left-width: 12px;
border-right-width: 0px;
}
#summary > ul:first-of-type ~ :not(.collapsible):not(ul)[data-startline]:active,
#summary > ul:first-of-type ~ .collapsible:active + :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ * :not(.collapsible):not(ul)[data-startline]:active,
#summary > ul:first-of-type ~ * .collapsible:active + :not(.collapsible):not(ul)[data-startline],
#summary > ul:first-of-type ~ .collapsible:active > .heading-span,
#summary > ul:first-of-type ~ * .collapsible:active > .heading-span {
transition: all .2s ease-out;
}
/* Special color for active links */
#summary > ul:first-of-type ~ * [data-startline].active,
#summary > ul:first-of-type ~ * .collapsible.active + :not(.collapsible)[data-startline] {
background-color: #00bcd4;
}
#summary > ul:first-of-type ~ * [data-startline].active:hover:not(:active),
#summary > ul:first-of-type ~ * .collapsible.active:hover:not(active) + :not(.collapsible)[data-startline] {
background-color: #00bcd4c0;
}
#summary > ul:first-of-type ~ * [data-startline].active > a,
#summary > ul:first-of-type ~ * .collapsible.active + :not(.collapsible)[data-startline] > a {
color: #ffffff;
}
/* Label shorthand */
#summary > ul:first-of-type ~ * * > a > em strong {
display: inline;
padding: .2em .6em .3em;
font-size: 75%;
font-weight: 700;
font-style: normal;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
#summary > ul:first-of-type ~ * *:focus-within > a > em strong,
#summary > ul:first-of-type ~ * *:hover > a > em strong {
color: #fff;
}
#summary > ul:first-of-type ~ * * > a > em > strong { background-color: #777; }
#summary > ul:first-of-type ~ * *:focus-within > a > em strong,
#summary > ul:first-of-type ~ * *:hover > a > em strong { background-color: #5e5e5e; }
/* Top Bar */
/* Title */
#summary > .collapsible:first-child {
position: fixed;
list-style-type: none;
display: inline-block;
z-index: -1;
margin: 0;
padding: 0 25px;
top: 0;
left: 50%;
height: var(--topbar-height);
max-height: none;
max-width: none;
transform: translate(-50%, 0);
cursor: auto;
font-family: Roboto;
font-size: 24px;
letter-spacing: 4px;
background: transparent;
color: #555555;
text-shadow: none;
overflow: visible;
transition: all .5s;
}
#summary > .collapsible:first-child > .heading-span {
z-index: -1;
display: inline-block;
padding: 0;
line-height: var(--topbar-height);
max-width: none;
white-space: nowrap;
overflow: visible;
transition: all .5s;
animation: fadeIn 1s both ease-out 1s, slideLeftIn 1s both ease-out 1s;
}
#summary > .collapsible:first-child:hover > .heading-span {
color: #6a6a6a;
-webkit-text-fill-color: transparent;
background: linear-gradient(270deg, #1B5E20, #01579B, #4A148C);
-webkit-background-clip: text;
background-size: 600% 600%;
animation: fadeIn 1s both ease-out 1s, slideLeftIn 1s both ease-out 1s, titleHoverRepeat 20s ease infinite .5s;
text-shadow: 0 6px 24px #01579B80, 0 6px 12px #ffffff80;
}
#summary > .collapsible:first-child .fa {
display: none;
padding: 0;
max-height: 0;
}
@media screen and (min-width: 1159px) and (max-width: 1519px) {
.summary.open > #summary > .collapsible:first-child {
left: calc(var(--sidebar-width) + (100% - var(--sidebar-width)) / 2);
transform: translate(-50%, 0);
}
}
@media screen and (min-width: 799px) and (max-width: 1158px) {
.summary.open > #summary > .collapsible:first-child {
left: var(--sidebar-width);
transform: translate(0, 0);
}
}
@media screen and (max-width: 798px) {
#summary > .collapsible:first-child .heading-span {
letter-spacing: 0.5vw;
}
}
@media screen and (max-width: 498px) {
#summary > .collapsible:first-child .heading-span {
font-size: calc(.1em + 4vw);
}
}
/* Navigation Bar */
#summary > ul:first-of-type {
position: relative;
display: flex;
flex-flow: column nowrap;
justify-content: flex-start;
align-items: stretch;
padding: 0;
top: 0;
left: 0;
height: auto;
width: 100%;
max-height: none;
overflow-x: auto;
font-weight: 600;
transition: all 1s;
}
@media screen and (min-width: 799px) {
#summary > ul:first-of-type {
position: fixed;
flex-flow: row nowrap;
justify-content: flex-end;
align-items: stretch;
margin-left: auto;
margin-right: calc(50% - var(--article-width) / 2);
left: unset;
right: 0;
height: var(--topbar-height);
max-width: var(--article-width);
width: auto;
z-index: -1;
}
.summary.open > #summary > ul:first-of-type {
margin-right: 0;
}
}
@media screen and (min-width: 1159px) and (max-width: 1519px) {
.summary.open > #summary > ul:first-of-type {
margin-right: calc((100% - var(--sidebar-width) - var(--article-width)) / 2);
}
}
@media screen and (min-width: 1520px) {
.summary.open > #summary > ul:first-of-type {
margin-right: calc((100% - var(--article-width)) / 2);
}
}
/* Navigation Items */
#summary > ul:first-of-type > li {
position: relative;
max-height: none;
display: flex;
justify-content: center;
list-style-type: none;
flex: 1 1 0;
margin: auto;
width: 100%;
background-color: transparent;
transition: all .5s ease-out;
animation: fadeIn 1s both ease-out .5s;
}
#summary > ul:first-of-type > li:hover:not(:active) {
background-color: #00bcd460;
}
#summary > ul:first-of-type > li:active {
transition: all .2s ease-out;
}
#summary > ul:first-of-type > li.active {
background-color: #00bcd4;
}
#summary > ul:first-of-type > li.active:hover:not(:active) {
background-color: #00bcd4c0;
}
#summary > ul:first-of-type > li > a {
position: static;
margin: auto;
border: none;
padding-left: 25px;
padding-right: 15px;
height: auto;
width: 100%;
}
#summary > ul:first-of-type > li.active > a {
color: #ffffff;
}
@media screen and (min-width: 799px) {
#summary > ul:first-of-type > li {
width: auto;
height: var(--topbar-height);
}
#summary > ul:first-of-type > li > a {
padding-left: 15px;
width: auto;
}
}
/* Contact Links */
#summary > h6:last-of-type {
display: none;
padding: 0;
max-height: 0;
}
#summary > h6:last-of-type .fa {
display: none;
padding: 0;
max-height: 0;
}
#summary > ul:last-of-type {
position: fixed;
display: flex;
flex-flow: row nowrap;
justify-content: space-evenly;
padding: 0;
bottom: 0;
height: var(--contact-bar-height);
max-height: none;
border-left: none;
}
#summary > ul:last-of-type:hover:not(:active) {
border-left-width: 0;
background-color: transparent;
}
#summary > ul:last-of-type > li:not(.collapsible)[data-startline] {
flex: 1 1 0;
display: flex;
flex-flow: column nowrap;
justify-content: center;
text-align: center;
border-left: none;
margin: 0;
padding: auto;
border-left: none;
border-right: none;
height: auto;
}
#summary > ul:last-of-type:hover:not(:active) > li,
#summary > ul:last-of-type:active > li,
#summary > ul:last-of-type > li:not(.collapsible)[data-startline]:active {
border-left-width: 0px;
border-right-width: 0px;
}
#summary > ul:last-of-type > li:not(.collapsible)[data-startline]:hover:not(:active) {
border-left-width: 0px;
border-right-width: 0px;
background-color: #00bcd460;
}
#summary > ul:last-of-type > li:active {
background-color: #00bcd4;
color: #ffffff;
transition: all .2s;
}
#summary > ul:last-of-type > li > a {
position: static;
display: flex;
flex-flow: column nowrap;
justify-content: center;
padding: 5px;
margin: auto;
height: auto;
width: 100%;
font-size: 10px;
}
#summary > ul:last-of-type > li > a > i {
display: flex;
flex-flow: column nowrap;
justify-content: center;
margin: 0;
font-size: 18px;
line-height: 1.2em;
}
#summary > ul:last-of-type > li:active > a {
color: #ffffff;
transition: all .2s;
}
#summary > ul:last-of-type .fa-external-link {
display: none;
}
/* Links and Buttons */
#summary a {
text-decoration: none;
}
#summary > h1:first-of-type ~ * a::after,
.summary .ui-summary-action::after,
.topbar .ui-summary-action::after {
display: block;
content: "";
position: absolute;
height: 4px;
width: 0;
bottom: 0;
left: 0;
background: #2196F3;
transition: all .5s;
}
#summary > ul:first-of-type ~ * a::after {
left: 2em;
}
#summary > ul:last-of-type > li > a::after {
left: 0;
}
#summary > h1:first-of-type ~ * a:hover:not(:active)::after,
.summary .ui-summary-action:hover:not(:active)::after,
.topbar .ui-summary-action:hover:not(:active)::after {
width: 100%;
left: 0;
}
#summary > ul:first-of-type ~ * a:hover:not(:active)::after {
width: calc(100% - 12px);
}
#summary > ul:last-of-type > li > a:hover:not(:active)::after {
width: 100%;
left: 0;
}
#summary > h1:first-of-type ~ * a:active::after,
.summary .ui-summary-action:active::after,
.topbar .ui-summary-action:active::after {
transition: all .2s;
}
</style>
# IID's Article Heap
- [Home](/@IID/IID-Heap-Home)
- [About](/@IID/IID-Heap-About)
# [IID 的文章堆 <br> Iweidieng Iep's Article Heap](/@IID/IID-Heap-Home)
## 大眾向純技術類 Technical - for the Public
- [***簡報*** Etterna 與 Lua](/@IID/H11TbiFCm)
## 哲學類 Philosophy
## 評論 Commentary
## 雜記 Miscellaneous
- [***動畫*** 旋轉測試 Rotation Test](/@IID/rotation-test)
## 非大眾向純技術類 Technical - Not for the Public
- [***WIP | 英文*** Ψulang - 假想的多範型通用程式語言 A Fictitious Multi-Paradigm General-Purpose Programming Language](/@IID/SkcwPCPI8)
### Common TL Series
- [***中英對照*** Common TL Initial Table 通用臺羅拼音聲母列表](/@IID/Bk2VpvFqr)
- [***英文*** Common TL Phonetic notation system](/@IID/S1gG3ysGB)
- [Common TL(中文說明)](/@IID/BJIAKpczr)
- [***英文*** Common TL](/@IID/BJPwsU-0V)
###### Contact
- [<i class="fa fa-github"></i>@IepIweidieng](https://github.com/IepIweidieng) [target=_blank]
- [<i class="fa fa-codepen"></i>@IID](https://codepen.io/IID) [target=_blank]
- [<i class="fa fa-facebook-official"></i>@IepIweidieng](https://fb.me/IepIweidieng) [target=_blank]
- [<i class="fa fa-envelope"></i>mail to me](mailto:iid@ccns.ncku.edu.tw) [target=_blank]
{"metaMigratedAt":"2023-06-15T07:25:01.559Z","metaMigratedFrom":"YAML","title":"IID 的文章堆 ~ Iweidieng Iep's Article Heap","breaks":false,"description":"The Book Theme of IID's Article Heap","robots":"noindex, nofollow","contributors":"[{\"id\":\"fdc9dd25-93db-4105-bf09-b0b53c01fb28\",\"add\":58577,\"del\":34743}]"}