diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index 44161d9..0000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,219 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- activesupport (7.1.3.2)
- base64
- bigdecimal
- concurrent-ruby (~> 1.0, >= 1.0.2)
- connection_pool (>= 2.2.5)
- drb
- i18n (>= 1.6, < 2)
- minitest (>= 5.1)
- mutex_m
- tzinfo (~> 2.0)
- addressable (2.8.6)
- public_suffix (>= 2.0.2, < 6.0)
- base64 (0.2.0)
- bibtex-ruby (6.1.0)
- latex-decode (~> 0.0)
- racc (~> 1.7)
- bigdecimal (3.1.8)
- citeproc (1.0.10)
- namae (~> 1.0)
- citeproc-ruby (1.1.14)
- citeproc (~> 1.0, >= 1.0.9)
- csl (~> 1.6)
- classifier-reborn (2.3.0)
- fast-stemmer (~> 1.0)
- matrix (~> 0.4)
- colorator (1.1.0)
- concurrent-ruby (1.2.3)
- connection_pool (2.4.1)
- crass (1.0.6)
- csl (1.6.0)
- namae (~> 1.0)
- rexml
- csl-styles (1.0.1.11)
- csl (~> 1.0)
- css_parser (1.17.1)
- addressable
- cssminify2 (2.0.1)
- csv (3.3.0)
- deep_merge (1.2.2)
- drb (2.2.1)
- em-websocket (0.5.3)
- eventmachine (>= 0.12.9)
- http_parser.rb (~> 0)
- eventmachine (1.2.7)
- execjs (2.9.1)
- fast-stemmer (1.0.2)
- feedjira (3.2.3)
- loofah (>= 2.3.1, < 3)
- sax-machine (>= 1.0, < 2)
- ffi (1.16.3)
- forwardable-extended (2.6.0)
- gemoji (4.1.0)
- google-protobuf (4.26.1-aarch64-linux)
- rake (>= 13)
- google-protobuf (4.26.1-x86_64-linux)
- rake (>= 13)
- html-pipeline (2.14.3)
- activesupport (>= 2)
- nokogiri (>= 1.4)
- htmlcompressor (0.4.0)
- http_parser.rb (0.8.0)
- httparty (0.22.0)
- csv
- mini_mime (>= 1.0.0)
- multi_xml (>= 0.5.2)
- i18n (1.14.5)
- concurrent-ruby (~> 1.0)
- jekyll (4.3.3)
- addressable (~> 2.4)
- colorator (~> 1.0)
- em-websocket (~> 0.5)
- i18n (~> 1.0)
- jekyll-sass-converter (>= 2.0, < 4.0)
- jekyll-watch (~> 2.0)
- kramdown (~> 2.3, >= 2.3.1)
- kramdown-parser-gfm (~> 1.0)
- liquid (~> 4.0)
- mercenary (>= 0.3.6, < 0.5)
- pathutil (~> 0.9)
- rouge (>= 3.0, < 5.0)
- safe_yaml (~> 1.0)
- terminal-table (>= 1.8, < 4.0)
- webrick (~> 1.7)
- jekyll-archives (2.2.1)
- jekyll (>= 3.6, < 5.0)
- jekyll-email-protect (1.1.0)
- jekyll-feed (0.17.0)
- jekyll (>= 3.7, < 5.0)
- jekyll-get-json (1.0.0)
- deep_merge (~> 1.2)
- jekyll (>= 3.0)
- jekyll-imagemagick (1.4.0)
- jekyll (>= 3.4)
- jekyll-jupyter-notebook (0.0.6)
- jekyll
- jekyll-link-attributes (1.0.1)
- jekyll-minifier (0.1.10)
- cssminify2 (~> 2.0)
- htmlcompressor (~> 0.4)
- jekyll (>= 3.5)
- json-minify (~> 0.0.3)
- uglifier (~> 4.1)
- jekyll-paginate-v2 (3.0.0)
- jekyll (>= 3.0, < 5.0)
- jekyll-sass-converter (3.0.0)
- sass-embedded (~> 1.54)
- jekyll-scholar (7.1.3)
- bibtex-ruby (~> 6.0)
- citeproc-ruby (~> 1.0)
- csl-styles (~> 1.0)
- jekyll (~> 4.0)
- jekyll-sitemap (1.4.0)
- jekyll (>= 3.7, < 5.0)
- jekyll-tabs (1.2.1)
- jekyll (>= 3.0, < 5.0)
- jekyll-toc (0.18.0)
- jekyll (>= 3.9)
- nokogiri (~> 1.12)
- jekyll-twitter-plugin (2.1.0)
- jekyll-watch (2.2.1)
- listen (~> 3.0)
- jemoji (0.13.0)
- gemoji (>= 3, < 5)
- html-pipeline (~> 2.2)
- jekyll (>= 3.0, < 5.0)
- json (2.7.2)
- json-minify (0.0.3)
- json (> 0)
- kramdown (2.4.0)
- rexml
- kramdown-parser-gfm (1.1.0)
- kramdown (~> 2.0)
- latex-decode (0.4.0)
- libv8-node (21.7.2.0-aarch64-linux)
- libv8-node (21.7.2.0-x86_64-linux)
- liquid (4.0.4)
- listen (3.9.0)
- rb-fsevent (~> 0.10, >= 0.10.3)
- rb-inotify (~> 0.9, >= 0.9.10)
- loofah (2.22.0)
- crass (~> 1.0.2)
- nokogiri (>= 1.12.0)
- matrix (0.4.2)
- mercenary (0.4.0)
- mini_mime (1.1.5)
- mini_racer (0.12.0)
- libv8-node (~> 21.7.2.0)
- minitest (5.22.3)
- multi_xml (0.7.1)
- bigdecimal (~> 3.1)
- mutex_m (0.2.0)
- namae (1.2.0)
- racc (~> 1.7)
- nokogiri (1.16.5-aarch64-linux)
- racc (~> 1.4)
- nokogiri (1.16.5-x86_64-linux)
- racc (~> 1.4)
- pathutil (0.16.2)
- forwardable-extended (~> 2.6)
- public_suffix (5.0.5)
- racc (1.7.3)
- rake (13.2.1)
- rb-fsevent (0.11.2)
- rb-inotify (0.10.1)
- ffi (~> 1.0)
- rexml (3.2.8)
- strscan (>= 3.0.9)
- rouge (4.2.1)
- safe_yaml (1.0.5)
- sass-embedded (1.77.0-aarch64-linux-gnu)
- google-protobuf (>= 3.25, < 5.0)
- sass-embedded (1.77.0-x86_64-linux-gnu)
- google-protobuf (>= 3.25, < 5.0)
- sax-machine (1.3.2)
- strscan (3.1.0)
- terminal-table (3.0.2)
- unicode-display_width (>= 1.1.1, < 3)
- tzinfo (2.0.6)
- concurrent-ruby (~> 1.0)
- uglifier (4.2.0)
- execjs (>= 0.3.0, < 3)
- unicode-display_width (2.5.0)
- unicode_utils (1.4.0)
- webrick (1.8.1)
-
-PLATFORMS
- aarch64-linux
- x86_64-linux-gnu
-
-DEPENDENCIES
- classifier-reborn
- css_parser
- feedjira
- httparty
- jekyll
- jekyll-archives
- jekyll-email-protect
- jekyll-feed
- jekyll-get-json
- jekyll-imagemagick
- jekyll-jupyter-notebook
- jekyll-link-attributes
- jekyll-minifier
- jekyll-paginate-v2
- jekyll-scholar
- jekyll-sitemap
- jekyll-tabs
- jekyll-toc
- jekyll-twitter-plugin
- jemoji
- mini_racer
- unicode_utils
- webrick
-
-BUNDLED WITH
- 2.5.7
\ No newline at end of file
diff --git a/_data/repositories.yml b/_data/repositories.yml
deleted file mode 100644
index 4e0165f..0000000
--- a/_data/repositories.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-github_users:
- - simonwei97
- # - torvalds
- # - alshedivat
-
-github_repos:
- - alshedivat/al-folio
- - milvus-io/pymilvus
- - golang-design/go-questions
- # - twbs/bootstrap
- # - jekyll/jekyll
- # - jquery/jquery
- # - FortAwesome/Font-Awesome
- # - jpswalsh/academicons
- # - mathjax/MathJax
diff --git a/_posts/2023-09-11-binary-tree-traversal.md b/_posts/2023-09-11-binary-tree-traversal.md
deleted file mode 100644
index 27fa40d..0000000
--- a/_posts/2023-09-11-binary-tree-traversal.md
+++ /dev/null
@@ -1,234 +0,0 @@
----
-layout: post
-title: Binary Tree different traversal ways
-date: 2023-09-11 15:09:00
-description: Binary Tree preorder, inorder, postorder and levelorder.
-tags: code
-categories: algo
-giscus_comments: true
-related_posts: false
-related_publications: false
-featured: true
-toc:
- sidebar: right
----
-
-# Definition
-
-```go
-type TreeNode struct {
- Val int
- Left *TreeNode
- Right *TreeNode
-}
-```
-
-# Preorder
-
-Access order: `Root -> Left -> Right`.
-
-```go
-// Recursion
-func preorderTraversal(root *TreeNode) []int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- res := []int{}
- var preOrder func(*TreeNode)
- preOrder = func(root *TreeNode) {
- if root == nil {
- return
- }
- res = append(res, root.Val) // root
- preOrder(root.Left) // left
- preOrder(root.Right) // right
- }
- preOrder(root)
- return res
-}
-
-// Iterate
-func preorderTraversal(root *TreeNode) []int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- if root == nil {
- return nil
- }
-
- res := make([]int, 0)
- stack := make([]*TreeNode, 0)
- for len(stack) > 0 || root != nil {
- for root != nil {
- res = append(res, root.Val) // root
- stack = append(stack, root)
- root = root.Left // left
- }
- // pop
- node := stack[len(stack)-1]
- stack = stack[:len(stack)-1]
- root = node.Right // right
- }
- return res
-}
-```
-
-# Inorder
-
-Access order: `Left -> Root -> Right`
-
-```go
-// Recursion
-func inorderTraversal(root *TreeNode) []int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- res := []int{}
- var inorder func(*TreeNode)
- inorder = func(root *TreeNode) {
- if root == nil {
- return
- }
- inorder(root.Left) // left
- res = append(res, root.Val) // root
- inorder(root.Right) // right
- }
- inorder(root)
- return res
-}
-
-// Iterate
-func inorderTraversal(root *TreeNode) []int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- if root == nil {
- return nil
- }
-
- res := make([]int, 0)
- stack := make([]*TreeNode, 0)
- for len(stack) > 0 || root != nil {
- for root != nil {
- stack = append(stack, root)
- root = root.Left // left
- }
- node := stack[len(stack)-1]
- stack = stack[:len(stack)-1]
- res = append(res, node.Val) // root
- root = node.Right // right
- }
-
- return res
-}
-```
-
-# Postorder
-
-Access order: `Left -> Right -> Root`
-
-```go
-// Recursion
-func postorderTraversal(root *TreeNode) []int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- res := []int{}
- var postorder func(*TreeNode)
- postorder = func(root *TreeNode) {
- if root == nil {
- return
- }
- postorder(root.Left) // left
- postorder(root.Right) // right
- res = append(res, root.Val) // root
- }
- postorder(root)
- return res
-}
-
-// Iterate
-func postorderTraversal(root *TreeNode) []int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- if root == nil {
- return nil
- }
-
- res := make([]int, 0)
- stack := make([]*TreeNode, 0)
- // will check if right node has been pop
- var lastVisit *TreeNode
- for len(stack) > 0 || root != nil {
- for root != nil {
- stack = append(stack, root)
- root = root.Left // left
- }
-
- node := stack[len(stack)-1]
- // root will pop after right node
- if node.Right == nil || node.Right == lastVisit {
- stack = stack[:len(stack)-1]
- res = append(res, node.Val) // root
- lastVisit = node
- } else {
- root = node.Right // right
- }
- }
- return res
-}
-```
-
-# Levelorder
-
-Access order: `from left to right, level by level`
-
-```go
-// Recursion (BFS)
-func levelorder(root *TreeNode) [][]int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- res := [][]int{}
- var bfs func(node *TreeNode, dep int)
- bfs = func(node *TreeNode, dep int) {
- if node == nil {
- return
- }
- if len(res) == dep {
- res = append(res, []int{})
- }
- res[dep] = append(res[dep], node.Val)
- bfs(node.Left, dep+1)
- bfs(node.Right, dep+1)
- }
-
- bfs(root, 0)
- return res
-}
-
-// Iterate
-func levelorder(root *TreeNode) [][]int {
- // Time complexity: O(n)
- // Spatial complexity: O(n)
- if root == nil {
- return [][]int{}
- }
-
- res := make([][]int, 0)
- curr := []*TreeNode{root}
- for len(curr) > 0 {
- next := []*TreeNode{}
- vals := []int{}
-
- for _, node := range curr {
- vals = append(vals, node.Val) // add curr level node val
-
- if node.Left != nil {
- next = append(next, node.Left)
- }
-
- if node.Right != nil {
- next = append(next, node.Right)
- }
- }
- res = append(res, vals)
- curr = next
- }
- return res
-}
-```
diff --git a/_sass/_base.scss b/_sass/_base.scss
deleted file mode 100644
index c714bee..0000000
--- a/_sass/_base.scss
+++ /dev/null
@@ -1,1165 +0,0 @@
-/*******************************************************************************
- * Styles for the base elements of the theme.
- ******************************************************************************/
-
-// Typography
-
-p,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-em,
-div,
-li,
-span,
-strong {
- color: var(--global-text-color);
-}
-
-p,
-h1,
-h2,
-h3,
-h4,
-h5,
-div,
-li {
- font-family:
- -apple-system,
- BlinkMacSystemFont,
- segoe ui,
- Roboto,
- Oxygen,
- Ubuntu,
- Cantarell,
- open sans,
- helvetica neue,
- sans-serif;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5 {
- font-weight: 500;
-}
-
-p {
- font-size: 16px;
- font-weight: 400;
-}
-
-strong {
- font-weight: bold;
-}
-
-hr {
- border-top: 1px solid var(--global-divider-color);
-}
-
-table {
- td,
- th {
- font-size: 1rem;
- }
-
- th {
- font-weight: bold;
- }
-}
-
-a,
-table.table a {
- color: var(--global-theme-color);
-
- &:hover {
- color: var(--global-theme-color);
- text-decoration: underline;
- }
-
- &:hover:after :not(.nav-item.dropdown) {
- width: 100%;
- }
-}
-
-.table-dark {
- background-color: transparent;
- &.table-bordered {
- border: 1px solid var(--global-divider-color) !important;
- }
-}
-
-blockquote {
- background: var(--global-blockquote-bg-color);
- border-left: 5px solid var(--global-theme-color);
- margin: 1.5em 0;
- padding: 1em;
- font-size: 1.2rem;
-
- p {
- margin-bottom: 0;
- }
-
- /* Tips, warnings, and dangers blockquotes */
- &.block-tip {
- border-color: var(--global-tip-block);
- background-color: var(--global-tip-block-bg);
-
- p {
- color: var(--global-tip-block-text);
- }
-
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- color: var(--global-tip-block-title);
- }
- }
-
- &.block-warning {
- border-color: var(--global-warning-block);
- background-color: var(--global-warning-block-bg);
-
- p {
- color: var(--global-warning-block-text);
- }
-
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- color: var(--global-warning-block-title);
- }
- }
-
- &.block-danger {
- border-color: var(--global-danger-block);
- background-color: var(--global-danger-block-bg);
-
- p {
- color: var(--global-danger-block-text);
- }
-
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- color: var(--global-danger-block-title);
- }
- }
-}
-
-// Checklist
-
-ul.task-list {
- list-style-type: none; /* Remove bullets from all levels */
-}
-
-ul.task-list > li ul {
- /* Nested lists within .task-list */
- padding-inline-start: 1.5rem;
-}
-
-ul.task-list input[type="checkbox"] {
- margin: 0.275rem 0.5rem 0.5rem -1rem;
- vertical-align: middle;
-}
-
-// Math
-
-.equation {
- margin-bottom: 1rem;
- text-align: center;
-}
-
-// Caption
-
-.caption {
- font-size: 0.875rem;
- margin-top: 0.75rem;
- margin-bottom: 1.5rem;
- text-align: center;
-}
-
-// Card
-
-.card {
- background-color: var(--global-card-bg-color);
-
- .card-img {
- width: 100%;
- padding-top: 1.25rem;
- }
-
- .card-title {
- color: var(--global-text-color);
- }
-
- .card-body {
- padding: 1.25rem 1.25rem 1.25rem 1.25rem;
- }
-}
-
-// Citation
-
-.citation,
-.citation-number {
- color: var(--global-theme-color);
-}
-
-// Profile
-
-.profile {
- width: 100%;
-
- .more-info {
- margin-bottom: 5px;
- margin-top: 5px;
- font-family: monospace;
-
- p {
- display: inline-block;
- margin: 0;
- font-family: monospace;
- }
- }
-}
-
-.profile.float-right {
- margin-left: 1rem;
-}
-
-.profile.float-left {
- margin-right: 1rem;
-}
-
-@media (min-width: 576px) {
- .profile {
- width: 30%;
-
- .address {
- p {
- display: block;
- }
- }
- }
-}
-
-.post-description {
- margin-bottom: 2rem;
- font-size: 0.875rem;
-
- a {
- color: inherit;
-
- &:hover {
- color: var(--global-theme-color);
- text-decoration: none;
- }
- }
-}
-
-// Navbar customization
-
-.navbar {
- box-shadow: none;
- border-bottom: 1px solid var(--global-divider-color);
- background-color: var(--global-bg-color);
- opacity: 0.95;
- font-weight: 400;
-}
-
-.navbar .dropdown-menu {
- background-color: var(--global-bg-color);
- border: 1px solid var(--global-divider-color);
-
- a:not(.active) {
- color: var(--global-text-color);
- }
-
- a:hover {
- color: var(--global-hover-color);
- }
-
- .dropdown-divider {
- border-top: 1px solid var(--global-divider-color) !important;
- }
-}
-
-.dropdown-item {
- color: var(--global-text-color);
-
- &:hover {
- color: var(--global-hover-color);
- background-color: var(--global-bg-color);
- }
-}
-
-.navbar.navbar-light {
- a {
- &:hover {
- text-decoration: none;
- }
- }
-
- .navbar-brand {
- color: var(--global-text-color);
- }
-
- .navbar-nav .nav-item .nav-link {
- color: var(--global-text-color);
-
- &:hover {
- color: var(--global-hover-color);
- }
- }
-
- .navbar-nav .nav-item.active > .nav-link {
- background-color: inherit;
- font-weight: bolder;
- color: var(--global-theme-color);
-
- &:hover {
- color: var(--global-hover-color);
- }
- }
-
- .navbar-brand.social {
- padding-bottom: 0;
- padding-top: 0;
- font-size: 1.7rem;
-
- a {
- i::before {
- color: var(--global-text-color);
- transition-property: all 0.2s ease-in-out;
- }
-
- &:hover {
- i::before {
- color: var(--global-theme-color);
- }
- }
- }
- }
-}
-
-.navbar-toggler {
- .icon-bar {
- display: block;
- width: 22px;
- height: 2px;
- background-color: var(--global-text-color);
- border-radius: 1px;
- margin-bottom: 4px;
- transition: all 0.2s;
- }
-
- .top-bar {
- transform: rotate(45deg);
- transform-origin: 10% 10%;
- }
-
- .middle-bar {
- opacity: 0;
- }
-
- .bottom-bar {
- transform: rotate(-45deg);
- transform-origin: 10% 90%;
- }
-}
-
-.navbar-toggler.collapsed {
- .top-bar {
- transform: rotate(0);
- }
-
- .middle-bar {
- opacity: 1;
- }
-
- .bottom-bar {
- transform: rotate(0);
- }
-}
-
-#light-toggle,
-#search-toggle {
- padding: 0;
- border: 0;
- background-color: inherit;
- color: var(--global-text-color);
-
- &:hover {
- color: var(--global-hover-color);
- }
-}
-
-// Social (bottom)
-
-.social {
- text-align: center;
-
- .contact-icons {
- font-size: 4rem;
-
- a {
- i::before {
- color: var(--global-text-color);
- transition-property: all 0.2s ease-in-out;
- }
-
- &:hover {
- i::before {
- color: var(--global-theme-color);
- }
- }
- }
- }
-
- .contact-note {
- font-size: 0.8rem;
- }
-}
-
-.wechat-modal {
- display: none;
- position: fixed;
- z-index: 1;
- padding-top: 100px;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- overflow: auto;
- background-color: rgb(0, 0, 0);
- background-color: rgba(0, 0, 0, 0.8);
-}
-
-.wechat-modal > img {
- display: block;
- position: relative;
- top: 50%;
- left: 50%;
- width: 33%;
- max-width: 400px;
- transform: translate(-50%, -50%);
-}
-
-@media only screen and (max-width: 400px) {
- .wechat-modal > img {
- width: 100%;
- }
-}
-
-// Footer
-footer.fixed-bottom {
- background-color: var(--global-footer-bg-color);
- font-size: 0.75rem;
-
- .container {
- color: var(--global-footer-text-color);
- padding-top: 9px;
- padding-bottom: 8px;
- text-align: center;
- }
-
- a {
- color: var(--global-footer-link-color);
-
- &:hover {
- color: var(--global-theme-color);
- text-decoration: none;
- }
- }
-}
-
-footer.sticky-bottom {
- border-top: 1px solid var(--global-divider-color);
- padding-top: 40px;
- padding-bottom: 40px;
- font-size: 0.9rem;
-
- .container {
- text-align: center;
- }
-}
-
-// CV
-
-.cv {
- margin-bottom: 40px;
-
- .card {
- background-color: var(--global-card-bg-color);
- border: 1px solid var(--global-divider-color);
-
- .list-group-item {
- background-color: inherit;
- border-color: var(--global-divider-color);
-
- .badge {
- color: var(--global-card-bg-color) !important;
- background-color: var(--global-theme-color) !important;
- }
- }
- }
-}
-
-.table-cv-map {
- background-color: transparent;
- border: none;
- color: var(--global-text-color);
-}
-
-// Repositories
-
-@media (min-width: 768px) {
- .repo {
- max-width: 50%;
- }
-}
-
-// Blog
-
-.header-bar {
- border-bottom: 1px solid var(--global-divider-color);
- text-align: center;
- padding-top: 2rem;
- padding-bottom: 3rem;
-
- h1 {
- color: var(--global-theme-color);
- font-size: 5rem;
- }
-}
-
-.tag-category-list {
- border-bottom: 1px solid var(--global-divider-color);
- text-align: center;
- padding-top: 1rem;
-
- ul {
- justify-content: center;
- display: flow-root;
-
- p,
- li {
- list-style: none;
- display: inline-block;
- padding: 1rem 0.5rem;
- color: var(--global-text-color-light);
- }
- }
-}
-
-.post-title {
- mjx-container[jax="CHTML"][display="true"] {
- display: unset;
- }
-}
-
-.post-list {
- margin: 0;
- margin-bottom: 40px;
- padding: 0;
-
- li {
- border-bottom: 1px solid var(--global-divider-color);
- list-style: none;
- padding-top: 2rem;
- padding-bottom: 2rem;
-
- .post-meta {
- color: var(--global-text-color-light);
- font-size: 0.875rem;
- margin-bottom: 0;
- }
-
- .post-tags {
- color: var(--global-text-color-light);
- font-size: 0.875rem;
- padding-top: 0.25rem;
- padding-bottom: 0;
- }
-
- a {
- color: var(--global-text-color);
- text-decoration: none;
-
- &:hover {
- color: var(--global-theme-color);
- }
- }
-
- mjx-container[jax="CHTML"][display="true"] {
- display: unset;
- }
- }
-}
-
-.pagination {
- .page-item {
- .page-link {
- color: var(--global-text-color);
-
- &:hover {
- color: $black-color;
- }
- }
-
- &.active .page-link {
- color: $white-color;
- background-color: var(--global-theme-color);
-
- &:hover {
- background-color: var(--global-theme-color);
- }
- }
- }
-}
-
-// Distill
-
-.distill {
- a:hover {
- border-bottom-color: var(--global-theme-color);
- text-decoration: none;
- }
-}
-
-// Projects
-
-.projects {
- a {
- text-decoration: none;
-
- &:hover {
- .card-title {
- color: var(--global-theme-color);
- }
- }
- }
-
- .card {
- img {
- width: 100%;
- }
- }
-
- .grid-sizer,
- .grid-item {
- width: 250px;
- margin-bottom: 10px;
- }
-
- h2.category {
- color: var(--global-divider-color);
- border-bottom: 1px solid var(--global-divider-color);
- padding-top: 0.5rem;
- margin-top: 2rem;
- margin-bottom: 1rem;
- text-align: right;
- }
-}
-
-// Publications
-
-.publications {
- margin-top: 2rem;
-
- h1 {
- color: var(--global-theme-color);
- font-size: 2rem;
- text-align: center;
- margin-top: 1em;
- margin-bottom: 1em;
- }
-
- h2 {
- margin-bottom: 1rem;
-
- span {
- font-size: 1.5rem;
- }
- }
-
- h2.bibliography {
- color: var(--global-divider-color);
- border-top: 1px solid var(--global-divider-color);
- padding-top: 1rem;
- margin-top: 2rem;
- text-align: right;
- }
-
- ol.bibliography {
- list-style: none;
- padding: 0;
- margin-top: 0;
-
- li {
- margin-bottom: 1rem;
-
- .preview {
- }
-
- .abbr {
- margin-bottom: 0.5rem;
-
- abbr {
- display: inline-block;
- background-color: var(--global-theme-color);
- margin-bottom: 0.5rem;
-
- a {
- color: white;
-
- &:hover {
- text-decoration: none;
- }
- }
- }
-
- .award {
- color: var(--global-theme-color) !important;
- border: 1px solid var(--global-theme-color);
- }
- }
-
- .title {
- font-weight: bolder;
- }
-
- .author {
- a {
- border-bottom: 1px dashed var(--global-theme-color);
-
- &:hover {
- border-bottom-style: solid;
- text-decoration: none;
- }
- }
-
- > em {
- border-bottom: 1px solid;
- font-style: normal;
- }
-
- > span.more-authors {
- color: var(--global-text-color-light);
- border-bottom: 1px dashed var(--global-text-color-light);
- cursor: pointer;
-
- &:hover {
- color: var(--global-text-color);
- border-bottom: 1px dashed var(--global-text-color);
- }
- }
- }
-
- .links {
- a.btn {
- color: var(--global-text-color);
- border: 1px solid var(--global-text-color);
- padding-left: 1rem;
- padding-right: 1rem;
- padding-top: 0.25rem;
- padding-bottom: 0.25rem;
- margin-left: 0;
-
- &:hover {
- color: var(--global-theme-color);
- border-color: var(--global-theme-color);
- }
- }
- a.award.btn {
- border-color: var(--global-highlight-color);
- }
- }
-
- .badges {
- padding-bottom: 0.5rem;
- span {
- display: inline-block;
- color: $black-color;
- height: 100%;
- padding-right: 0.5rem;
- vertical-align: middle;
-
- &:hover {
- text-decoration: underline;
- }
- }
- }
-
- .hidden {
- font-size: 0.875rem;
- max-height: 0px;
- overflow: hidden;
- text-align: justify;
- transition-property: 0.15s ease;
- -moz-transition: 0.15s ease;
- -ms-transition: 0.15s ease;
- -o-transition: 0.15s ease;
- transition: all 0.15s ease;
-
- p {
- line-height: 1.4em;
- margin: 10px;
- }
-
- pre {
- font-size: 1em;
- line-height: 1.4em;
- padding: 10px;
- }
- }
-
- .hidden.open {
- max-height: 100em;
- transition-property: 0.15s ease;
- -moz-transition: 0.15s ease;
- -ms-transition: 0.15s ease;
- -o-transition: 0.15s ease;
- transition: all 0.15s ease;
- }
-
- div.abstract.hidden {
- border: dashed 1px var(--global-bg-color);
- }
-
- div.abstract.hidden.open {
- border-color: var(--global-text-color);
- }
- }
- div.award.hidden {
- border: dashed 1px var(--global-bg-color);
- }
- div.award.hidden.open {
- border-color: var(--global-highlight-color);
- }
- }
-}
-
-// Rouge Color Customization
-figure.highlight {
- margin: 0 0 1rem;
-}
-
-pre {
- color: var(--global-theme-color);
- background-color: var(--global-code-bg-color);
- border-radius: 6px;
- padding: 6px 12px;
-
- pre,
- code {
- background-color: transparent;
- border-radius: 0;
- margin-bottom: 0;
- padding: 0;
- }
-}
-
-code {
- color: var(--global-theme-color);
- background-color: var(--global-code-bg-color);
- border-radius: 3px;
- padding: 3px 3px;
-}
-
-// Transitioning Themes
-html.transition,
-html.transition *,
-html.transition *:before,
-html.transition *:after {
- transition: all 750ms !important;
- transition-delay: 0 !important;
-}
-
-// Extra Markdown style (post Customization)
-.post {
- .post-meta {
- color: var(--global-text-color-light);
- font-size: 0.875rem;
- margin-bottom: 0;
- }
-
- .post-tags {
- color: var(--global-text-color-light);
- font-size: 0.875rem;
- padding-top: 0.25rem;
- padding-bottom: 1rem;
-
- a {
- color: var(--global-text-color-light);
- text-decoration: none;
-
- &:hover {
- color: var(--global-theme-color);
- }
- }
- }
-}
-
-progress {
- /* Positioning */
- position: fixed;
- left: 0;
- top: 56px;
- z-index: 10;
-
- /* Dimensions */
- width: 100%;
- height: 1px;
-
- /* Reset the appearance */
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
-
- /* Get rid of the default border in Firefox/Opera. */
- border: none;
-
- /* Progress bar container for Firefox/IE10 */
- background-color: transparent;
-
- /* Progress bar value for IE10 */
- color: var(--global-theme-color);
-}
-
-progress::-webkit-progress-bar {
- background-color: transparent;
-}
-
-progress::-webkit-progress-value {
- background-color: var(--global-theme-color);
-}
-
-progress::-moz-progress-bar {
- background-color: var(--global-theme-color);
-}
-
-.progress-container {
- width: 100%;
- background-color: transparent;
- position: fixed;
- top: 56px;
- left: 0;
- height: 5px;
- display: block;
-}
-
-.progress-bar {
- background-color: var(--global-theme-color);
- width: 0%;
- display: block;
- height: inherit;
-}
-
-/* Copy button */
-.code-display-wrapper {
- position: relative;
-
- .copy {
- background: var(--global-card-bg-color);
- border-color: var(--global-bg-color);
- border-radius: 0.3rem;
- border-style: none;
- color: var(--global-text-color);
- font-size: medium;
- opacity: 0;
- position: absolute;
- right: 0.2rem;
- top: 0.2rem;
- }
-
- &:active .copy,
- &:focus .copy,
- &:hover .copy {
- color: var(--global-hover-color);
- opacity: 1;
- }
-}
-
-.btn-group.dropdown {
- .btn {
- box-shadow: none;
- -webkit-box-shadow: none;
- }
-
- .btn-secondary.dropdown-toggle {
- border: 1px solid var(--global-divider-color);
-
- .page-size {
- color: inherit;
- }
-
- &:not(.active) {
- background-color: var(--global-bg-color) !important;
- color: var(--global-text-color);
- }
-
- &:hover {
- background-color: var(--global-hover-color) !important;
- color: var(--global-hover-text-color) !important;
- }
- }
-
- .dropdown-menu {
- background-color: var(--global-bg-color);
- }
-
- .dropdown-item {
- background-color: var(--global-bg-color);
- color: var(--global-text-color);
-
- &:hover {
- color: var(--global-hover-color);
- }
- }
-
- .dropdown-item.active,
- .dropdown-item:active {
- background-color: var(--global-hover-color);
- color: var(--global-hover-text-color) !important;
-
- &:hover {
- color: var(--global-hover-text-color);
- }
- }
-}
-
-/* Table of Contents */
-nav[data-toggle="toc"] {
- top: 5rem;
-
- .nav .nav > li > a {
- font-size: 0.75rem;
- }
-
- .nav > li > a {
- color: var(--global-text-color);
- font-size: 0.75rem;
-
- &:hover {
- color: var(--global-hover-color);
- border-left-color: var(--global-hover-color);
- }
- }
-
- .nav-link.active {
- color: var(--global-theme-color);
- border-left-color: var(--global-theme-color);
- font-size: 0.75rem;
-
- &:hover {
- color: var(--global-hover-color);
- border-left-color: var(--global-hover-color);
- }
- }
-}
-
-/* small screens */
-@media (max-width: 576px) {
- /* override stickyness so that the navigation does not follow scrolling */
- nav[data-toggle="toc"] {
- visibility: hidden;
- height: 0;
- top: 0;
- }
-}
-
-.featured-posts {
- a {
- color: var(--global-text-color-light);
- text-decoration: none;
-
- .card-text {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-
- &:hover {
- color: var(--global-theme-color);
-
- .card-title {
- color: var(--global-theme-color);
- }
- }
- }
-
- .post-meta {
- color: var(--global-text-color-light);
- font-size: 0.875rem;
- margin-bottom: 0;
- padding-top: 0.5rem;
- }
-}
-
-.unloaded {
- display: none !important;
-}
-
-.medium-zoom-overlay,
-.medium-zoom-image--opened {
- z-index: 999;
-}
-
-#toc-sidebar {
- z-index: 1;
-}
-
-.echarts {
- height: 400px;
- width: 100%;
-}
-
-.map {
- height: 400px;
- width: 100%;
-}
-
-swiper-container {
- --swiper-navigation-color: var(--global-theme-color);
- --swiper-pagination-color: var(--global-theme-color);
- --swiper-pagination-bullet-inactive-color: var(--global-text-color);
-}
-
-.ps-root {
- .ps-algorithm {
- margin: 0.8em 0;
- border-top: 3px solid var(--global-text-color);
- border-bottom: 2px solid var(--global-text-color);
- }
-
- .ps-algorithm.with-caption > .ps-line:first-child {
- border-bottom: 2px solid var(--global-text-color);
- }
-}
-
-// Ninja Keys
-// for more options, check https://github.com/ssleptsov/ninja-keys?tab=readme-ov-file#css-variables
-ninja-keys {
- --ninja-accent-color: var(--global-theme-color);
- --ninja-icon-size: 0px;
- --ninja-modal-background: var(--global-bg-color);
- --ninja-z-index: 1031;
-}
-
-ninja-keys::part(ninja-input-wrapper) {
- background: var(--global-bg-color);
-}
diff --git a/assets/img/1.jpg b/assets/img/1.jpg
index 1f2eb4c..227d62a 100644
Binary files a/assets/img/1.jpg and b/assets/img/1.jpg differ
diff --git a/assets/img/10.jpg b/assets/img/10.jpg
index e9958d4..a9af43a 100644
Binary files a/assets/img/10.jpg and b/assets/img/10.jpg differ
diff --git a/assets/img/4.jpg b/assets/img/4.jpg
index 746b206..3830c7d 100644
Binary files a/assets/img/4.jpg and b/assets/img/4.jpg differ
diff --git a/assets/img/6.jpg b/assets/img/6.jpg
index 92317be..088aa42 100644
Binary files a/assets/img/6.jpg and b/assets/img/6.jpg differ
diff --git a/assets/img/site_icon/icon.png b/assets/img/site_icon/icon.png
index 819694c..2fbfca0 100644
Binary files a/assets/img/site_icon/icon.png and b/assets/img/site_icon/icon.png differ
diff --git a/lighthouse_results/desktop/pagespeed.svg b/lighthouse_results/desktop/pagespeed.svg
index 0469799..9fd0edf 100644
--- a/lighthouse_results/desktop/pagespeed.svg
+++ b/lighthouse_results/desktop/pagespeed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+95Performance100Accessibility100Best Practices100SEONAPWA0-4950-8990-100
\ No newline at end of file
diff --git a/lighthouse_results/mobile/pagespeed.svg b/lighthouse_results/mobile/pagespeed.svg
index 2cf0256..5c1a4e8 100644
--- a/lighthouse_results/mobile/pagespeed.svg
+++ b/lighthouse_results/mobile/pagespeed.svg
@@ -1 +1 @@
-92Performance100Accessibility100Best Practices100SEONAPWA0-4950-8990-100
\ No newline at end of file
+92Performance100Accessibility100Best Practices100SEONAPWA0-4950-8990-100
\ No newline at end of file
diff --git a/readme_preview/blog.png b/readme_preview/blog.png
index 0f36828..9846799 100644
Binary files a/readme_preview/blog.png and b/readme_preview/blog.png differ
diff --git a/readme_preview/code.png b/readme_preview/code.png
index 6dd6f84..b68e245 100644
Binary files a/readme_preview/code.png and b/readme_preview/code.png differ
diff --git a/readme_preview/dark.png b/readme_preview/dark.png
index 311479c..e803635 100644
Binary files a/readme_preview/dark.png and b/readme_preview/dark.png differ
diff --git a/readme_preview/distill.png b/readme_preview/distill.png
index 99d7847..ac4a0bd 100644
Binary files a/readme_preview/distill.png and b/readme_preview/distill.png differ
diff --git a/readme_preview/jupyter.png b/readme_preview/jupyter.png
index 8890918..ee576f2 100644
Binary files a/readme_preview/jupyter.png and b/readme_preview/jupyter.png differ
diff --git a/readme_preview/light.png b/readme_preview/light.png
index 985686a..e1f407b 100644
Binary files a/readme_preview/light.png and b/readme_preview/light.png differ
diff --git a/readme_preview/math.png b/readme_preview/math.png
index 7f41e3e..ea3fcff 100644
Binary files a/readme_preview/math.png and b/readme_preview/math.png differ
diff --git a/readme_preview/people.png b/readme_preview/people.png
index 3e3687c..7c7ba11 100644
Binary files a/readme_preview/people.png and b/readme_preview/people.png differ
diff --git a/readme_preview/photos-screenshot.png b/readme_preview/photos-screenshot.png
index 3dce0a1..e10198b 100644
Binary files a/readme_preview/photos-screenshot.png and b/readme_preview/photos-screenshot.png differ
diff --git a/readme_preview/projects.png b/readme_preview/projects.png
index 375a898..6ceb5f1 100644
Binary files a/readme_preview/projects.png and b/readme_preview/projects.png differ
diff --git a/readme_preview/publications.png b/readme_preview/publications.png
index f1d0068..a02f6a1 100644
Binary files a/readme_preview/publications.png and b/readme_preview/publications.png differ
diff --git a/readme_preview/repositories.png b/readme_preview/repositories.png
index e1a7ac9..ede6389 100644
Binary files a/readme_preview/repositories.png and b/readme_preview/repositories.png differ