2023-02-14 01:12:40 +07:00
<!doctype html>
< html lang = "en" class = "no-js" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< link rel = "icon" href = "../assets/images/favicon.png" >
2023-09-15 15:50:24 +07:00
< meta name = "generator" content = "mkdocs-1.5.2, mkdocs-material-8.2.8" >
2023-02-14 01:12:40 +07:00
2023-04-04 21:35:08 +07:00
< title > Introduction - Yuyu Billing< / title >
2023-02-14 01:12:40 +07:00
< link rel = "stylesheet" href = "../assets/stylesheets/main.120efc48.min.css" >
< link rel = "stylesheet" href = "../assets/stylesheets/palette.9647289d.min.css" >
< link rel = "preconnect" href = "https://fonts.gstatic.com" crossorigin >
< link rel = "stylesheet" href = "https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" >
< style > : root { --md-text-font : "Roboto" ; --md-code-font : "Roboto Mono" } < / style >
< link rel = "stylesheet" href = "../stylesheets/extra.css" >
< script > _ _md _scope = new URL ( ".." , location ) , _ _md _get = ( e , _ = localStorage , t = _ _md _scope ) => JSON . parse ( _ . getItem ( t . pathname + "." + e ) ) , _ _md _set = ( e , _ , t = localStorage , a = _ _md _scope ) => { try { t . setItem ( a . pathname + "." + e , JSON . stringify ( _ ) ) } catch ( e ) { } } < / script >
2023-04-12 09:15:03 +07:00
< script > function gtag ( ) { dataLayer . push ( arguments ) } window . dataLayer = window . dataLayer || [ ] , gtag ( "js" , new Date ) , gtag ( "config" , "G-MHL1SCTT37" ) , document . addEventListener ( "DOMContentLoaded" , function ( ) { document . forms . search && document . forms . search . query . addEventListener ( "blur" , function ( ) { this . value && gtag ( "event" , "search" , { search _term : this . value } ) } ) , "undefined" != typeof location$ && location$ . subscribe ( function ( e ) { gtag ( "config" , "G-MHL1SCTT37" , { page _path : e . pathname } ) } ) } ) < / script >
< script async src = "https://www.googletagmanager.com/gtag/js?id=G-MHL1SCTT37" > < / script >
2023-02-14 01:12:40 +07:00
< / head >
< body dir = "ltr" data-md-color-scheme = "default" data-md-color-primary = "white" data-md-color-accent = "orange" >
< script > var palette = _ _md _get ( "__palette" ) ; if ( palette && "object" == typeof palette . color ) for ( var key of Object . keys ( palette . color ) ) document . body . setAttribute ( "data-md-color-" + key , palette . color [ key ] ) < / script >
< input class = "md-toggle" data-md-toggle = "drawer" type = "checkbox" id = "__drawer" autocomplete = "off" >
< input class = "md-toggle" data-md-toggle = "search" type = "checkbox" id = "__search" autocomplete = "off" >
< label class = "md-overlay" for = "__drawer" > < / label >
< div data-md-component = "skip" >
< a href = "#introduction" class = "md-skip" >
Skip to content
< / a >
< / div >
< div data-md-component = "announce" >
< / div >
< header class = "md-header md-header--lifted" data-md-component = "header" >
< nav class = "md-header__inner md-grid" aria-label = "Header" >
2023-04-04 21:35:08 +07:00
< a href = ".." title = "Yuyu Billing" class = "md-header__button md-logo" aria-label = "Yuyu Billing" data-md-component = "logo" >
2023-02-14 01:12:40 +07:00
< img src = "../assets/logo-long-ori.png" alt = "logo" >
< / a >
< label class = "md-header__button md-icon" for = "__drawer" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z" / > < / svg >
< / label >
< div class = "md-header__title" data-md-component = "header-title" >
< div class = "md-header__ellipsis" >
< div class = "md-header__topic" >
< span class = "md-ellipsis" >
2023-04-04 21:35:08 +07:00
Yuyu Billing
2023-02-14 01:12:40 +07:00
< / span >
< / div >
< div class = "md-header__topic" data-md-component = "header-topic" >
< span class = "md-ellipsis" >
Introduction
< / span >
< / div >
< / div >
< / div >
< form class = "md-header__option" data-md-component = "palette" >
< input class = "md-option" data-md-color-media = "" data-md-color-scheme = "default" data-md-color-primary = "white" data-md-color-accent = "orange" aria-label = "Switch to dark mode" type = "radio" name = "__palette" id = "__palette_1" >
< label class = "md-header__button md-icon" title = "Switch to dark mode" for = "__palette_2" hidden >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z" / > < / svg >
< / label >
< input class = "md-option" data-md-color-media = "(prefers-color-scheme: black)" data-md-color-scheme = "slate" data-md-color-primary = "" data-md-color-accent = "orange" aria-label = "Switch to light mode" type = "radio" name = "__palette" id = "__palette_2" >
< label class = "md-header__button md-icon" title = "Switch to light mode" for = "__palette_1" hidden >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3Z" / > < / svg >
< / label >
< / form >
< div class = "md-header__source" >
2023-04-04 20:31:57 +07:00
< a href = "https://github.com/Yuyu-billing" title = "Go to repository" class = "md-source" data-md-component = "source" >
2023-02-14 01:12:40 +07:00
< div class = "md-source__icon md-icon" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 448 512" > <!-- ! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --> < path d = "M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z" / > < / svg >
< / div >
< div class = "md-source__repository" >
2023-04-04 20:31:57 +07:00
github.com/yuyu-billing
2023-02-14 01:12:40 +07:00
< / div >
< / a >
< / div >
< / nav >
< nav class = "md-tabs" aria-label = "Tabs" data-md-component = "tabs" >
< div class = "md-tabs__inner md-grid" >
< ul class = "md-tabs__list" >
< li class = "md-tabs__item" >
< a href = ".." class = "md-tabs__link" >
Home
< / a >
< / li >
< li class = "md-tabs__item" >
< a href = "./" class = "md-tabs__link md-tabs__link--active" >
Documentation
< / a >
< / li >
< li class = "md-tabs__item" >
2023-04-04 21:22:30 +07:00
< a href = "https://github.com/Yuyu-billing" class = "md-tabs__link" >
2023-02-14 01:12:40 +07:00
Repository
< / a >
< / li >
< li class = "md-tabs__item" >
2023-04-04 21:22:30 +07:00
< a href = "../contact/" class = "md-tabs__link" >
2023-02-14 01:12:40 +07:00
Contact
< / a >
< / li >
< li class = "md-tabs__item" >
2023-04-04 21:22:30 +07:00
< a href = "../demo/" class = "md-tabs__link" >
2023-02-14 01:12:40 +07:00
Demo
< / a >
< / li >
< / ul >
< / div >
< / nav >
< / header >
< div class = "md-container" data-md-component = "container" >
< main class = "md-main" data-md-component = "main" >
< div class = "md-main__inner md-grid" >
< div class = "md-sidebar md-sidebar--primary" data-md-component = "sidebar" data-md-type = "navigation" >
< div class = "md-sidebar__scrollwrap" >
< div class = "md-sidebar__inner" >
< nav class = "md-nav md-nav--primary md-nav--lifted" aria-label = "Navigation" data-md-level = "0" >
< label class = "md-nav__title" for = "__drawer" >
2023-04-04 21:35:08 +07:00
< a href = ".." title = "Yuyu Billing" class = "md-nav__button md-logo" aria-label = "Yuyu Billing" data-md-component = "logo" >
2023-02-14 01:12:40 +07:00
< img src = "../assets/logo-long-ori.png" alt = "logo" >
< / a >
2023-04-04 21:35:08 +07:00
Yuyu Billing
2023-02-14 01:12:40 +07:00
< / label >
< div class = "md-nav__source" >
2023-04-04 20:31:57 +07:00
< a href = "https://github.com/Yuyu-billing" title = "Go to repository" class = "md-source" data-md-component = "source" >
2023-02-14 01:12:40 +07:00
< div class = "md-source__icon md-icon" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 448 512" > <!-- ! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --> < path d = "M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z" / > < / svg >
< / div >
< div class = "md-source__repository" >
2023-04-04 20:31:57 +07:00
github.com/yuyu-billing
2023-02-14 01:12:40 +07:00
< / div >
< / a >
< / div >
< ul class = "md-nav__list" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = ".." class = "md-nav__link" >
Home
< / a >
< / li >
< li class = "md-nav__item md-nav__item--active md-nav__item--nested" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "__nav_2" type = "checkbox" id = "__nav_2" checked >
< label class = "md-nav__link" for = "__nav_2" >
Documentation
< span class = "md-nav__icon md-icon" > < / span >
< / label >
< nav class = "md-nav" aria-label = "Documentation" data-md-level = "1" >
< label class = "md-nav__title" for = "__nav_2" >
< span class = "md-nav__icon md-icon" > < / span >
Documentation
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
< li class = "md-nav__item md-nav__item--active" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "toc" type = "checkbox" id = "__toc" >
< label class = "md-nav__link md-nav__link--active" for = "__toc" >
Introduction
< span class = "md-nav__icon md-icon" > < / span >
< / label >
< a href = "./" class = "md-nav__link md-nav__link--active" >
Introduction
< / a >
< nav class = "md-nav md-nav--secondary" aria-label = "Table of contents" >
< label class = "md-nav__title" for = "__toc" >
< span class = "md-nav__icon md-icon" > < / span >
Table of contents
< / label >
< ul class = "md-nav__list" data-md-component = "toc" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = "#what-is-yuyu" class = "md-nav__link" >
What is Yuyu ?
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#what-does-yuyu-count" class = "md-nav__link" >
What does yuyu count?
< / a >
< nav class = "md-nav" aria-label = "What does yuyu count?" >
< ul class = "md-nav__list" >
< li class = "md-nav__item" >
< a href = "#1-pricing" class = "md-nav__link" >
1. Pricing
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#2-instance-flavor" class = "md-nav__link" >
2. Instance Flavor
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#3-volume" class = "md-nav__link" >
3. Volume
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#4-floating-ip" class = "md-nav__link" >
4. Floating IP
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#5-router" class = "md-nav__link" >
5. Router
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#6-snapshot" class = "md-nav__link" >
6. Snapshot
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#7-image" class = "md-nav__link" >
7. Image
< / a >
< / li >
< / ul >
< / nav >
< / li >
< / ul >
< / nav >
< / li >
< li class = "md-nav__item" >
< a href = "../architecture/" class = "md-nav__link" >
Architecture
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../features/" class = "md-nav__link" >
Features
< / a >
< / li >
< li class = "md-nav__item md-nav__item--section md-nav__item--nested" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "__nav_2_4" data-md-state = "indeterminate" type = "checkbox" id = "__nav_2_4" checked >
< label class = "md-nav__link" for = "__nav_2_4" >
Deploy
< span class = "md-nav__icon md-icon" > < / span >
< / label >
< nav class = "md-nav" aria-label = "Deploy" data-md-level = "2" >
< label class = "md-nav__title" for = "__nav_2_4" >
< span class = "md-nav__icon md-icon" > < / span >
Deploy
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = "../prerequisites/" class = "md-nav__link" >
Pre-Requisites
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../pre-installation/" class = "md-nav__link" >
Pre-Installation
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../installation/" class = "md-nav__link" >
Installation
< / a >
< / li >
< / ul >
< / nav >
< / li >
< li class = "md-nav__item md-nav__item--section md-nav__item--nested" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "__nav_2_5" data-md-state = "indeterminate" type = "checkbox" id = "__nav_2_5" checked >
< label class = "md-nav__link" for = "__nav_2_5" >
Usage
< span class = "md-nav__icon md-icon" > < / span >
< / label >
< nav class = "md-nav" aria-label = "Usage" data-md-level = "2" >
< label class = "md-nav__title" for = "__nav_2_5" >
< span class = "md-nav__icon md-icon" > < / span >
Usage
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = "../preusages/" class = "md-nav__link" >
Pre-Usages
< / a >
< / li >
< li class = "md-nav__item md-nav__item--nested" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "__nav_2_5_2" data-md-state = "indeterminate" type = "checkbox" id = "__nav_2_5_2" checked >
< label class = "md-nav__link" for = "__nav_2_5_2" >
How to
< span class = "md-nav__icon md-icon" > < / span >
< / label >
< nav class = "md-nav" aria-label = "How to" data-md-level = "3" >
< label class = "md-nav__title" for = "__nav_2_5_2" >
< span class = "md-nav__icon md-icon" > < / span >
How to
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = "../price/" class = "md-nav__link" >
Create price
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../invoice/" class = "md-nav__link" >
Download invoice
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../billing-overview/" class = "md-nav__link" >
Billing overview
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../cost/" class = "md-nav__link" >
Usages cost
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../billing-settings/" class = "md-nav__link" >
Company Profile
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../notification/" class = "md-nav__link" >
Notification center
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../email_configuration/" class = "md-nav__link" >
Email configuration
< / a >
< / li >
< / ul >
< / nav >
< / li >
< / ul >
< / nav >
< / li >
< / ul >
< / nav >
< / li >
< li class = "md-nav__item" >
2023-04-04 21:22:30 +07:00
< a href = "https://github.com/Yuyu-billing" class = "md-nav__link" >
2023-02-14 01:12:40 +07:00
Repository
< / a >
< / li >
< li class = "md-nav__item" >
2023-04-04 21:22:30 +07:00
< a href = "../contact/" class = "md-nav__link" >
2023-02-14 01:12:40 +07:00
Contact
< / a >
< / li >
< li class = "md-nav__item" >
2023-04-04 21:22:30 +07:00
< a href = "../demo/" class = "md-nav__link" >
2023-02-14 01:12:40 +07:00
Demo
< / a >
< / li >
< / ul >
< / nav >
< / div >
< / div >
< / div >
< div class = "md-sidebar md-sidebar--secondary" data-md-component = "sidebar" data-md-type = "toc" >
< div class = "md-sidebar__scrollwrap" >
< div class = "md-sidebar__inner" >
< nav class = "md-nav md-nav--secondary" aria-label = "Table of contents" >
< label class = "md-nav__title" for = "__toc" >
< span class = "md-nav__icon md-icon" > < / span >
Table of contents
< / label >
< ul class = "md-nav__list" data-md-component = "toc" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = "#what-is-yuyu" class = "md-nav__link" >
What is Yuyu ?
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#what-does-yuyu-count" class = "md-nav__link" >
What does yuyu count?
< / a >
< nav class = "md-nav" aria-label = "What does yuyu count?" >
< ul class = "md-nav__list" >
< li class = "md-nav__item" >
< a href = "#1-pricing" class = "md-nav__link" >
1. Pricing
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#2-instance-flavor" class = "md-nav__link" >
2. Instance Flavor
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#3-volume" class = "md-nav__link" >
3. Volume
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#4-floating-ip" class = "md-nav__link" >
4. Floating IP
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#5-router" class = "md-nav__link" >
5. Router
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#6-snapshot" class = "md-nav__link" >
6. Snapshot
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#7-image" class = "md-nav__link" >
7. Image
< / a >
< / li >
< / ul >
< / nav >
< / li >
< / ul >
< / nav >
< / div >
< / div >
< / div >
< div class = "md-content" data-md-component = "content" >
< article class = "md-content__inner md-typeset" >
2023-04-04 20:31:57 +07:00
< a href = "https://github.com/Yuyu-billing/edit/master/docs/introduction.md" title = "Edit this page" class = "md-content__button md-icon" >
2023-02-14 01:12:40 +07:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z" / > < / svg >
< / a >
< h1 id = "introduction" > < strong > Introduction< / strong > < / h1 >
< h2 id = "what-is-yuyu" > < strong > What is Yuyu ?< / strong > < / h2 >
< p > Yuyu is a plugin in openstack that makes it easy for you to manage your openstack bills.< / p >
< hr / >
< h2 id = "what-does-yuyu-count" > < strong > What does yuyu count?< / strong > < / h2 >
< p > Yuyu can set a price for the following OpenStack feature bellow :< / p >
< h3 id = "1-pricing" > 1. Pricing< / h3 >
< p > Yuyu can set a price for the following OpenStack feature.< / p >
< h3 id = "2-instance-flavor" > 2. Instance Flavor< / h3 >
< p > You can set the price for each Flavor that you have. Each instance that uses a flavor will be counted for Billing. You still be charged for instance even if the instance is stopped unless you delete it.< / p >
< h3 id = "3-volume" > 3. Volume< / h3 >
< p > You can set the price for each < strong > volume type< / strong > per 1 GB. You will be charged for every allocation. The the space allocated will be rounded up before calculating the price. For example you have a volume of 2.3 GB, that volume will be counted as 3 GB.< / p >
< h3 id = "4-floating-ip" > 4. Floating IP< / h3 >
< p > You can set the price for each Floating IP that you allocate. < / p >
< h3 id = "5-router" > 5. Router< / h3 >
< p > You can set the price for each Floating IP you allocate that has an external gateway set. Only router that has an external gateway that will be counted, router without external gateway will not be Counted< / p >
< h3 id = "6-snapshot" > 6. Snapshot< / h3 >
< p > You can set the price for each snapshot you take per 1 GB. Same with volume, the space allocated will be rounded up before calculating the price.< / p >
< h3 id = "7-image" > 7. Image< / h3 >
< p > You can set the price for each image you create per 1 GB. Same with volume and Snapshot, the space allocated will be rounded up before calculating the price.< / p >
< / article >
< / div >
< / div >
< / main >
< footer class = "md-footer" >
< nav class = "md-footer__inner md-grid" aria-label = "Footer" >
< a href = ".." class = "md-footer__link md-footer__link--prev" aria-label = "Previous: Home" rel = "prev" >
< div class = "md-footer__button md-icon" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z" / > < / svg >
< / div >
< div class = "md-footer__title" >
< div class = "md-ellipsis" >
< span class = "md-footer__direction" >
Previous
< / span >
Home
< / div >
< / div >
< / a >
< a href = "../architecture/" class = "md-footer__link md-footer__link--next" aria-label = "Next: Architecture" rel = "next" >
< div class = "md-footer__title" >
< div class = "md-ellipsis" >
< span class = "md-footer__direction" >
Next
< / span >
Architecture
< / div >
< / div >
< div class = "md-footer__button md-icon" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z" / > < / svg >
< / div >
< / a >
< / nav >
< div class = "md-footer-meta md-typeset" >
< div class = "md-footer-meta__inner md-grid" >
< div class = "md-copyright" >
2023-04-11 14:49:51 +07:00
< div class = "md-copyright__highlight" >
Support by:
< / div >
2023-04-11 14:57:17 +07:00
< a href = "https://btech.id" target = "_blank" rel = "noopener" >
2023-04-11 14:49:51 +07:00
< img src = "https://btech.id/static/images/logo_btech_white.png" style = "width: 100px; margin-top: 5px;" >
< / a >
< / div >
< div class = "md-copyright" >
2023-02-14 01:12:40 +07:00
< div class = "md-copyright__highlight" >
2023-04-04 21:32:12 +07:00
Copyright © 2022 - Yuyu Team
2023-02-14 01:12:40 +07:00
< / div >
Made with
< a href = "https://squidfunk.github.io/mkdocs-material/" target = "_blank" rel = "noopener" >
Material for MkDocs
< / a >
< / div >
< div class = "md-social" >
2023-04-11 15:12:38 +07:00
< a href = "https://twitter.com/yuyubilling" target = "_blank" rel = "noopener" title = "twitter.com" class = "md-social__link" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > <!-- ! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --> < path d = "M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" / > < / svg >
< / a >
< a href = "https://github.com/Yuyu-billing" target = "_blank" rel = "noopener" title = "github.com" class = "md-social__link" >
2023-02-14 01:12:40 +07:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 496 512" > <!-- ! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --> < path d = "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" / > < / svg >
< / a >
2023-04-11 15:12:38 +07:00
< a href = "https://id.linkedin.com/in/yuyu-billing-068374264" target = "_blank" rel = "noopener" title = "id.linkedin.com" class = "md-social__link" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 448 512" > <!-- ! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --> < path d = "M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z" / > < / svg >
< / a >
2023-02-14 01:12:40 +07:00
< / div >
< / div >
< / div >
< / footer >
< / div >
< div class = "md-dialog" data-md-component = "dialog" >
< div class = "md-dialog__inner md-typeset" > < / div >
< / div >
< script id = "__config" type = "application/json" > { "base" : ".." , "features" : [ "navigation.tabs" , "navigation.tabs.sticky" , "navigation.sections" , "navigation.expand" ] , "search" : "../assets/javascripts/workers/search.2a1c317c.min.js" , "translations" : { "clipboard.copied" : "Copied to clipboard" , "clipboard.copy" : "Copy to clipboard" , "search.config.lang" : "en" , "search.config.pipeline" : "trimmer, stopWordFilter" , "search.config.separator" : "[\\s\\-]+" , "search.placeholder" : "Search" , "search.result.more.one" : "1 more on this page" , "search.result.more.other" : "# more on this page" , "search.result.none" : "No matching documents" , "search.result.one" : "1 matching document" , "search.result.other" : "# matching documents" , "search.result.placeholder" : "Type to start searching" , "search.result.term.missing" : "Missing" , "select.version.title" : "Select version" } } < / script >
< script src = "../assets/javascripts/bundle.52fb055a.min.js" > < / script >
< / body >
< / html >