Advertisement
southcodes

artsbyannz: the untold

Mar 4th, 2025
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 18.13 KB | None | 0 0
  1. <!--
  2.  
  3.     book theme and pages coded by skye southcodes.tumblr.com for artsbyannz.tumblr.com
  4.    
  5.     - normalize css by https://github.com/necolas
  6.     - fonts:
  7.         google fonts
  8.         https://www.tunera.xyz/fonts/nyght-serif/
  9.     - dark mode https://mournstera.tumblr.com/post/724742111455592448/a-dark-mode-guide-with-css-variables-and-js-this by https://mournstera.tumblr.com/
  10.     -isotope filters by https://isotope.metafizzy.co/
  11.     - icons by https://phosphoricons.com/
  12.  
  13. -->
  14.  
  15. <!DOCTYPE html>
  16. <html lang="en" data-theme="light">
  17. <head>
  18.     <title>{title}</title>
  19.    
  20.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  21.  
  22.     <script>
  23.     const storedTheme = localStorage.getItem("theme") || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
  24.     if (storedTheme) {
  25.         document.documentElement.setAttribute("data-theme", storedTheme);
  26.     }
  27.     </script>
  28.  
  29.     <link rel="shortcut icon" href="{favicon}">
  30.     <meta name="description" content="{MetaDescription}"/>
  31.  
  32.     <link rel="preconnect" href="https://fonts.googleapis.com">
  33.     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  34.     <link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap" rel="stylesheet">
  35.  
  36.     <!-- normalize -->
  37.     <link href="https://necolas.github.io/normalize.css/7.0.0/normalize.css" rel="stylesheet">
  38.  
  39.     <style>
  40.         /* colors for light mode */
  41. :root, html[data-theme='light'] {
  42.   --text: #333;
  43.   --background:white;
  44.   --titles:  #b88f80;
  45.   --links: #b88f80;
  46.   --links: #b88f80;
  47.   --links-hover: #9b6b59;
  48.   --accents: #d1a990;
  49.   --toggle-button-icon:rgb(218, 215, 215);
  50.   --toggle-button-background:rgb(51, 49, 49);
  51.   --light-on: block;
  52.   --light-off: none;
  53. }
  54.  
  55. /* colors for dark mode */
  56. :root, html[data-theme='dark'] {
  57.   --light-on: none;
  58.   --light-off: block;
  59.   --text: #b9b7b7;
  60.   --background:rgb(60, 60, 61);
  61.   --titles:  #b88f80;
  62.   --links: #b88f80;
  63.   --links-hover: #9b6b59;
  64.   --accents: #795738;
  65.   --toggle-button-icon:rgb(218, 215, 215);
  66.   --toggle-button-background:rgb(51, 49, 49);
  67.   --light-on: none;
  68.   --light-off: block;
  69. }
  70.  
  71. .tmblr-iframe {margin:.7rem;opacity:.6;-ms-transform: scale(0.85);-webkit-transform: scale(0.85); /* Safari */transform: scale(0.85);}
  72. .tmblr-iframe:hover {opacity:.8;}
  73.  
  74. ::-webkit-scrollbar-thumb:vertical {border-left:2px solid var(--accents);}
  75. ::-webkit-scrollbar {width:6px}
  76. ::-webkit-scrollbar-track-piece{margin:5px 0;}
  77.  
  78. pre {font-family:consolas;
  79.   white-space: pre-wrap;       /* css-3 */
  80.   white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
  81.   white-space: -pre-wrap;      /* Opera 4- */
  82.   white-space: -o-pre-wrap;    /* Opera 7 */
  83.   word-wrap: break-word;}      /* Internet Explorer 5.5+ */
  84.  
  85. * {margin: 0;padding: 0; box-sizing: border-box;}
  86. p {margin:1rem 0}
  87. body, figure{margin:0;padding:0}
  88. html{font: 16px 'quicksand', serif;}
  89. body {font-size:1rem;color:var(--text);background:var(--background);}
  90. a {text-decoration: none;color:var(--links);word-break:break-word;}
  91. a:hover {color:var(--links-hover);}
  92. blockquote {margin:0;padding:0;}
  93. img {max-width:100%;height: auto;display: block;margin:0}
  94. hr {border:0;border-top:1px solid var(--accents);margin:0;}
  95.  
  96. @font-face {
  97.   font-family: nygth-regular;
  98.   src: url(https://static.tumblr.com/p5i0ib5/i1sspt31d/nyghtserif-regular.ttf);
  99. }
  100. @font-face {
  101.   font-family: nygth-regular-italic;
  102.   src: url(https://static.tumblr.com/p5i0ib5/wGispt31j/nyghtserif-regularitalic.ttf);
  103. }
  104.  
  105. /* dark mode */
  106.  
  107. html.theme-transition,
  108. html.theme-transition *,
  109. html.theme-transition *:before,
  110. html.theme-transition *:after {
  111. transition: 0s !important;
  112. transition-delay: 0 !important;
  113. }
  114.  
  115. button.theme-toggle {
  116.     position: fixed;
  117.     inset:1.5rem auto auto 2rem;
  118.     padding: .5rem;
  119.     border: 0;
  120.     border-radius: 100%;
  121.     outline: none;
  122.     cursor: pointer;
  123.     font-size: 25px;
  124.     color: var(--text);
  125.     background: var(--toggle-button-background);
  126. }
  127. .theme-toggle .ph{color: var(--toggle-button-icon)}
  128. .light-on {display: var(--light-on);}
  129. .light-off {display: var(--light-off);}
  130.  
  131.  
  132. /* global navigation */
  133.  
  134. #global-navigation {
  135.   padding: 4.5rem 4rem 2.5rem;
  136.   text-align: center;
  137.   font-family: nygth-regular;
  138.   font-weight: 500;
  139.   font-size: 1.4rem;
  140.   letter-spacing: .08rem;
  141. }
  142.  
  143. #global-navigation ul li {
  144.   display: inline-block;
  145.   margin-right: 6rem;
  146.   text-transform: uppercase;
  147. }
  148.  
  149. #global-navigation ul li:last-of-type {margin-right: 0;}
  150.  
  151. /* updates tab */
  152.  
  153. #updates-button {
  154.   border: 0;
  155.   padding: 0;
  156.   font: inherit;
  157.   cursor:pointer;
  158.   letter-spacing: inherit;
  159.   text-transform: uppercase;
  160.   color: var(--links);
  161.   outline: none;
  162.   background-color: transparent;
  163. }
  164.  
  165. #updates-button:hover {color: var(--links-hover);}
  166.  
  167. #updates-tab {
  168.   display: none;
  169.   position: absolute;
  170.   inset: 5.2rem auto auto 50%;    
  171.   -ms-transform: translate(-50%, -50%);
  172.   transform: translateX(-50%);
  173.   width: 90vw;
  174.   max-width: 20rem;
  175.   padding: 1.5rem;
  176.   border: 2px solid var(--accents);
  177.   border-radius: 4px;
  178.   font: 400 1.1rem 'quicksand', serif;
  179.   text-transform: none;
  180.   line-height: 140%;
  181.   background-color: var(--background);
  182. }
  183.  
  184. #updates-tab h4 {
  185.   margin-top: 1rem;
  186.   font: 500 1.7rem nygth-regular-italic;
  187.   letter-spacing: .1rem;
  188.   color:var(--titles);
  189. }
  190.  
  191. #updates-tab span {
  192.   padding: 0 .5rem;
  193.   box-shadow: inset 0 -7px var(--accents);
  194. }
  195.  
  196. #updates-tab hr {
  197.   width: .8rem;
  198.   height: .8rem;
  199.   margin: 2rem auto;
  200.   border: 0;
  201.   border-radius: 100%;
  202.   background-color: var(--accents);
  203. }
  204.  
  205. #updates-tab a {font-weight: 600;}
  206.  
  207. /* container */
  208.  
  209. #container {
  210.   width: 90vw;
  211.   max-width: 70rem;
  212.   margin: 16rem auto;
  213. }
  214.  
  215. /*  header  */
  216.  
  217. #header {
  218.   margin-bottom:15rem;
  219.   text-align: center;
  220. }
  221.  
  222. #page-title {
  223.   font-family: nygth-regular-italic;
  224.   font-size: 6rem;
  225.   font-weight: 400;
  226.   text-align: center;
  227.   color: var(--titles);
  228. }
  229.  
  230. /* filters */
  231.  
  232. #filters {
  233.   font-family: 'quicksand', sans-serif;
  234.   font-weight: 500;
  235.   text-transform: uppercase;
  236.   font-size: 1.3rem;
  237. }
  238.  
  239. #filters li {
  240.   list-style-type: none;
  241.   display: inline-block;
  242.   margin:0 1rem
  243. }
  244.  
  245. #filters a {padding:0 .3rem;
  246.   transition-duration: .3s;}
  247.  
  248. .current {box-shadow:inset 0 -10px var(--accents);}
  249.  
  250. /* novels */
  251.  
  252. .novel-wrapper {
  253.   display: flex;
  254.   margin-bottom: 20rem;
  255. }
  256.  
  257. .novel-wrapper:last-of-type {margin-bottom: 0;}
  258.  
  259. .novel-content {
  260.   display: flex;
  261.   flex-direction: column;
  262.   justify-content:space-around;
  263. }
  264.  
  265. /* novels layout */
  266.  
  267. .novel-wrapper:nth-child(odd) {flex-direction: row-reverse;}
  268.  
  269. .novel-wrapper:nth-child(even) .novel-content{
  270.   text-align: left;
  271.   margin-left: 7rem;
  272. }
  273.  
  274. .novel-wrapper:nth-child(odd) .novel-content{
  275.   margin-right: 7rem;
  276.   text-align: right;
  277. }
  278.  
  279. .novel-content,figure.novel-image {
  280.   width: 50%;
  281.   object-fit: cover;
  282. }
  283.  
  284. /* novel title */
  285.  
  286. .novel-title {
  287.   font: 500 3rem nygth-regular-italic;
  288.   color: var(--titles);
  289.   letter-spacing: .05rem;
  290. }
  291.  
  292. .novel-text {
  293.   line-height: 155%;
  294.   letter-spacing: .04rem;
  295. }
  296.  
  297. /* novel images */
  298.  
  299. img.novel-image {
  300.   width: 100%;
  301.   height: 100%;
  302.   object-fit: cover;
  303. }
  304.  
  305. /* timestamp + read more */
  306.  
  307. footer {
  308.   font-family: 'quicksand', serif;
  309.   font-weight: 500;
  310.   text-transform: uppercase;
  311. }
  312.  
  313. footer time {margin-right: 2rem;}
  314.  
  315. .read-more-link span{
  316.   box-shadow: inset 0 -10px var(--accents);
  317.   padding: 0 .5rem;
  318.   font-size: 1.1rem;
  319. }
  320.  
  321. /* MEDIA */
  322.  
  323.  
  324. @media only screen and (min-width:0) and (max-width:1400px) {
  325.  
  326.   #global-navigation ul {
  327.     display: flex;
  328.     justify-content: space-evenly;
  329.     flex-wrap:wrap;
  330.     max-width: 75rem;
  331.     margin: 0 auto;
  332.     padding: 2.5rem 1.5rem 2.5rem;
  333.   }
  334.  
  335.   #global-navigation ul li {
  336.     margin: 0 1rem 1rem;
  337.   }
  338.  
  339. }
  340.  
  341. @media only screen and (min-width:0px) and (max-width:1000px) {
  342.  
  343.   .novel-wrapper:nth-child(even) .novel-content{
  344.     text-align: left;
  345.     margin-left: 10%;
  346.   }
  347.  
  348.   .novel-wrapper:nth-child(odd) .novel-content{
  349.     margin-right: 10%;
  350.     text-align: right;
  351.   }
  352. }
  353.  
  354.  
  355. @media only screen and (min-width:0px) and (max-width:650px) {
  356.  
  357.   .novel-wrapper {
  358.     display: block;
  359.   }
  360.  
  361.   .novel-content{
  362.     margin: 4rem 0 0!important;
  363.   }
  364.  
  365.   .novel-content,figure.novel-image {
  366.     width: 100%;
  367.     object-fit: cover;
  368.   }
  369.   .novel-content {
  370.     margin-top: 4rem;
  371.   }
  372.  
  373. }
  374.  
  375. @media only screen and (min-width:0) and (max-width:400px) {
  376.  
  377.   #global-navigation ul li {
  378.     display:block;
  379.     margin-right: 0;
  380.   }
  381.  
  382. }
  383.     </style>
  384.  
  385. </head>
  386. <body>
  387.  
  388. <button class="theme-toggle" aria-label="toggle dark or light mode" type="button"><i class="ph ph-moon light-on" title="toggle dark mode"></i><i class="ph ph-sun light-off" title="toggle light mode"></i></button>
  389.  
  390. <!-- global navigation -->
  391.  
  392. <nav id="global-navigation"><ul>
  393.     <li><a href="/">home</a></li>
  394.     <li><a href="/ask">inbox</a></li>
  395.     <li><a href="/archive">archive</a></li>
  396.     <li><a href="LINK URL">books</a></li>
  397.  
  398.     <!-- open updates tab  -->
  399.     <li style="position: relative;"><button id="updates-button">updates</button>
  400.  
  401.         <!-- updates tab content -->
  402.         <div id="updates-tab">
  403.  
  404.             <h4><span>RAIN ON FIRE</span></h4>
  405.  
  406.             <p>chapter 10 is updated. <a href="#">read the new chapter here.</a></p>
  407.  
  408.             <!-- updates divider -->
  409.             <hr>
  410.  
  411.             <h4><span>rain on fire</span></h4>
  412.  
  413.             <p>chapter 10 is updated. <a href="#">read the new chapter here.</a></p>
  414.  
  415.         </div>
  416.     </li>
  417. </ul></nav>
  418.  
  419. <section id="container">
  420.    
  421.     <!-- header -->
  422. <header id="header">
  423.  
  424.     <h1 id="page-title">the untold</h1>
  425.  
  426.     <!-- filters -->
  427.     <nav id="filters">
  428.         <li><a href="#" data-filter="*" class="current">all</a></li>
  429.         <li><a href="#" data-filter=".filipino">filipino</a></li>
  430.         <li><a href="#" data-filter=".english">english</a></li>
  431.     </nav>
  432. </header>
  433.  
  434. <!-- main content -->
  435. <main id="main-wrapper">
  436.  
  437.     <!-- novel start -->
  438.     <section class="novel-wrapper english">
  439.    
  440.         <!-- novel image -->
  441.         <figure class="novel-image"><img src="https://images.unsplash.com/photo-1713731267887-df60125ecaeb?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTR8fGJyb3duJTIwY29sb3J8ZW58MHx8MHx8fDA%3D" alt="" class="novel-image"></figure>
  442.    
  443.         <article class="novel-content">
  444.             <!-- novel title -->
  445.             <h2 class="novel-title">blog title</h2>
  446.    
  447.             <!-- novel text -->
  448.             <article class="novel-text">
  449.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  450.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  451.             </article>
  452.    
  453.             <footer>
  454.                 <!-- novel date -->
  455.                 <time datetime="">february 2 2025</time>
  456.    
  457.                 <!-- novel read more link -->
  458.                 <a href="" class="read-more-link"><span>read more</span></a>
  459.         </article>
  460.     </section>
  461.     <!-- novel end -->
  462.  
  463.  
  464.    
  465.     <!-- novel start -->
  466.     <section class="novel-wrapper english">
  467.    
  468.         <!-- novel image -->
  469.         <figure class="novel-image"><img src="https://images.unsplash.com/photo-1713731267887-df60125ecaeb?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTR8fGJyb3duJTIwY29sb3J8ZW58MHx8MHx8fDA%3D" alt="" class="novel-image"></figure>
  470.    
  471.         <article class="novel-content">
  472.             <!-- novel title -->
  473.             <h2 class="novel-title">blog title</h2>
  474.    
  475.             <!-- novel text -->
  476.             <article class="novel-text">
  477.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  478.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  479.             </article>
  480.    
  481.             <footer>
  482.                 <!-- novel date -->
  483.                 <time datetime="">february 2 2025</time>
  484.    
  485.                 <!-- novel read more link -->
  486.                 <a href="" class="read-more-link"><span>read more</span></a>
  487.         </article>
  488.     </section>
  489.     <!-- novel end -->
  490.  
  491.  
  492.    
  493.     <!-- novel start -->
  494.     <section class="novel-wrapper english">
  495.    
  496.         <!-- novel image -->
  497.         <figure class="novel-image"><img src="https://images.unsplash.com/photo-1713731267887-df60125ecaeb?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTR8fGJyb3duJTIwY29sb3J8ZW58MHx8MHx8fDA%3D" alt="" class="novel-image"></figure>
  498.    
  499.         <article class="novel-content">
  500.             <!-- novel title -->
  501.             <h2 class="novel-title">blog title</h2>
  502.    
  503.             <!-- novel text -->
  504.             <article class="novel-text">
  505.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  506.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  507.             </article>
  508.    
  509.             <footer>
  510.                 <!-- novel date -->
  511.                 <time datetime="">february 2 2025</time>
  512.    
  513.                 <!-- novel read more link -->
  514.                 <a href="" class="read-more-link"><span>read more</span></a>
  515.         </article>
  516.     </section>
  517.     <!-- novel end -->
  518.  
  519.  
  520.    
  521.     <!-- novel start -->
  522.     <section class="novel-wrapper english">
  523.    
  524.         <!-- novel image -->
  525.         <figure class="novel-image"><img src="https://images.unsplash.com/photo-1713731267887-df60125ecaeb?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTR8fGJyb3duJTIwY29sb3J8ZW58MHx8MHx8fDA%3D" alt="" class="novel-image"></figure>
  526.    
  527.         <article class="novel-content">
  528.             <!-- novel title -->
  529.             <h2 class="novel-title">blog title</h2>
  530.    
  531.             <!-- novel text -->
  532.             <article class="novel-text">
  533.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  534.                 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione suscipit vel numquam eveniet minus quia aspernatur quod aliquid quisquam voluptate aliquam obcaecati tenetur nihil, quas alias ipsam molestias quibusdam delectus?</p>
  535.             </article>
  536.    
  537.             <footer>
  538.                 <!-- novel date -->
  539.                 <time datetime="">february 2 2025</time>
  540.    
  541.                 <!-- novel read more link -->
  542.                 <a href="" class="read-more-link"><span>read more</span></a>
  543.         </article>
  544.     </section>
  545.     <!-- novel end -->
  546.  
  547.  
  548.    
  549. </main>
  550.      
  551. </section>
  552.      
  553. <!-- do not touch -->
  554. <div style="position:fixed;bottom:2rem;right:2rem;z-index:999999999999999999999!important;font-size:.7rem;letter-spacing:.03rem;"><a href="https://southcodes.tumblr.com" title="coded by southcodes" target="_blank">SC</a></div>
  555.  
  556. <!-- jquery -->
  557. <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js'></script>
  558.  
  559. <!-- icons font -->
  560. <script src="https://unpkg.com/@phosphor-icons/web"></script>
  561.  
  562. <!-- isotope filters -->
  563. <script src='https://npmcdn.com/isotope-layout@3/dist/isotope.pkgd.js'></script>
  564.  
  565. <script>
  566.  
  567. //  isotope
  568. $(window).load(function(){
  569.     var $container = $('#main-wrapper');
  570.     $container.isotope({
  571.         filter: '*',
  572.         animationOptions: {
  573.             duration: 750,
  574.             easing: 'linear',
  575.             queue: false
  576.         }
  577.     });
  578.  
  579.     $('#header a').click(function(){
  580.         $('#header .current').removeClass('current');
  581.         $(this).addClass('current');
  582.  
  583.         var selector = $(this).attr('data-filter');
  584.         $container.isotope({
  585.             filter: selector,
  586.             animationOptions: {
  587.                 duration: 750,
  588.                 easing: 'linear',
  589.                 queue: false
  590.             }
  591.          });
  592.          return false;
  593.     });
  594. });
  595.  
  596. // updates tab popup
  597. $("#updates-button").click(function(){
  598.     $("#updates-tab").fadeToggle();
  599. });
  600. </script>
  601.  
  602. <script>
  603.    
  604. // disable right click
  605. document.addEventListener('contextmenu', event => {
  606.     event.preventDefault();
  607. });
  608.  
  609. // updates tab popup
  610. $("#updates-button").click(function(){
  611.     $("#updates-tab").fadeToggle();
  612. });
  613.  
  614. // dark mode
  615. const themeToggleButtons = document.querySelectorAll(".theme-toggle");
  616.  
  617. themeToggleButtons.forEach((btn) => {
  618.     btn.addEventListener("click", function () {
  619.  
  620.         // Add theme-transition class for smooth transitions
  621.         document.documentElement.classList.add("theme-transition");
  622.  
  623.         // Retrieve the current theme and determine the target theme
  624.         let currentTheme = document.documentElement.getAttribute("data-theme");
  625.         let targetTheme = (currentTheme === "light") ? "dark" : "light";
  626.  
  627.         // Remove theme-transition class after a short delay
  628.         window.setTimeout(function () {
  629.             document.documentElement.classList.remove("theme-transition");
  630.         }, 50);
  631.  
  632.         // Set the data-theme attribute and store in local storage
  633.         document.documentElement.setAttribute("data-theme", targetTheme);
  634.         localStorage.setItem("theme", targetTheme);
  635.     });
  636. });
  637. </script>
  638. </body>
  639. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement