site_name: Programming Notes
repo_url: https://github.com/m-lamonaca/programming-notes
repo_name: GitHub
edit_uri: /blob/main/docs
remote_branch: gh-pages
remote_name: origin
site_url: http://m-lamonaca.github.io/programming-notes
site_author: Marcello Lamonaca
copyright: MIT

docs_dir: docs
site_dir: site

extra:
  social:
    - icon: fontawesome/brands/mastodon 
      link: https://hachyderm.io/@m_lamonaca
    - icon: fontawesome/brands/github
      link: https://github.com/m-lamonaca

plugins:
  - search
  - social
  - offline


theme:
  name: material
  language: en
  icon:
    logo: fontawesome/solid/code

  palette: 
    # Palette toggle for light mode
    - media: "(prefers-color-scheme: light)"
      scheme: default
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
      primary: teal
      accent: cyan

    # Palette toggle for dark mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      toggle:
        icon: material/brightness-4
        name: Switch to light mode
      primary: teal
      accent: cyan

  features:
    - navigation.instant
    - navigation.indexes
    - navigation.tracking
    - navigation.pruning
    - navigation.sections
    - navigation.top
    - navigation.tabs
    - navigation.tabs.sticky
    - navigation.footer
    - toc.follow
    - content.code.copy


markdown_extensions:
  - pymdownx.highlight:
      use_pygments: true
      auto_title: true
      linenums: true
      anchor_linenums: true
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - pymdownx.superfences
  - pymdownx.keys
  - pymdownx.smartsymbols


nav:
  - Home: README.md
  - Containers:
    - Docker: containers/docker.md
    - Kubernetes: containers/kubernetes.md
  - Databases:
    - Redis: databases/redis.md
    - SQL: databases/sql.md
    - MongoDB: databases/mongo-db.md
  - Languages:
    - HTML: languages/html/html.md
    - Markdown: languages/markdown.md
    - CSS: languages/css/css.md
    - C: languages/c/c.md
    - Kotlin: languages/kotlin/kotlin.md
    - Swift: languages/swift/swift.md
    - Assembly:
      - Intel: languages/assembly/intel.md
      - RISC-V: languages/assembly/riscv.md
    - Python:
      - Python: languages/python/python.md
      - Modules:  
        - argparse: languages/python/modules/argparse.md
        - collection: languages/python/modules/collections.md
        - csv: languages/python/modules/csv.md
        - ftplib: languages/python/modules/ftplib.md
        - itertools: languages/python/modules/itertools.md
        - json: languages/python/modules/json.md
        - logging: languages/python/modules/logging.md
        - shutil: languages/python/modules/shutil.md
        - smtplib: languages/python/modules/smtplib.md
        - socket: languages/python/modules/socket.md
        - sqlite: languages/python/modules/sqlite.md
        - time & datetime: languages/python/modules/time-datetime.md
        - unittest: languages/python/modules/unittest.md
      - Libraries:
        - TKinter: languages/python/libs/tkinter.md
        - Numpy: languages/python/libs/numpy.md
        - Pandas: languages/python/libs/pandas.md
        - Seaborn: languages/python/libs/seaborn.md
        - Requests: languages/python/libs/requests.md
        - Beatiful Soup: languages/python/libs/beautiful-soup.md
    - .NET:
      - C#:
          - C#: languages/dotnet/csharp/csharp.md
          - Linq: languages/dotnet/csharp/linq.md
          - Collections: languages/dotnet/csharp/collections.md
          - Reactive Extensions: languages/dotnet/csharp/reactive-extensions.md
          - Async Programming: languages/dotnet/csharp/async-programming.md
          - Unit Tests: languages/dotnet/csharp/unit-tests.md
      - ASP.NET:
          - Minimal API: languages/dotnet/asp.net/minimal-api.md
          - FIlters: languages/dotnet/asp.net/filters.md
          - Middleware: languages/dotnet/asp.net/middleware.md
          - Razor Syntax: languages/dotnet/asp.net/razor-syntax.md
          - Blazor: languages/dotnet/asp.net/blazor.md
          - SignalR: languages/dotnet/asp.net/signalr.md
          - Web Forms: languages/dotnet/asp.net/web-forms.md
      - Database:
          - ADO.NET: languages/dotnet/database/ado.net.md
          - Entity Framework: languages/dotnet/database/entity-framework.md
    - Java:
        - Java: languages/java/java.md
        - Java Collection Framework: languages/java/java-collection-framework.md
        - DAO: languages/java/dao.md
        - Web:
            - Serverlet: languages/java/web/servlet.md
            - Spring:
                - POM: languages/java/spring/pom.xml.md
                - Project Structure: languages/java/spring/spring-project.md
    - PHP:
        - PHP: languages/php/php.md
        - Database: languages/php/database.md
        - Web: languages/php/web.md
        - Dependency Injection: languages/php/dependency-injection.md
        - Unit Tests: languages/php/unit-tests.md
        - Composer: languages/php/composer.md
        - PSR 7: languages/php/psr-7.md
        - Plates: languages/php/plates-templating.md
        - Simple MVC:
            - Simple MVC: languages/php/simple-mvc/simple-mvc.md
            - REST API: languages/php/simple-mvc/rest-api.md
    - Rust:
        - Rust: languages/rust/rust.md
        - Macros: languages/rust/macros.md
        - Cargo: languages/rust/cargo.md
        - Concurrency: languages/rust/concurrency.md
        - Unit Tests: languages/rust/unit-tests.md
    - Javascript:
        - Javascript: languages/javascript/javascript.md
        - DOM: languages/javascript/dom.md
        - Events & Animation: languages/javascript/events-animation.md
        - AJAX: languages/javascript/ajax.md
        - jQuery: languages/javascript/jquery.md
        - React:
            - React: languages/javascript/react/react.md
            - React Router: languages/javascript/react/react-router.md
            - React Tests: languages/javascript/react/react-tests.md
            - Redux: languages/javascript/react/redux.md
            - Redux Tests: languages/javascript/react/redux-tests.md
        - Svelte: languages/javascript/svelte/svelte.md
    - PowerShell:
        - Scripting: languages/powershell/scripting.md
        - Commands: languages/powershell/commands.md
    - Bash:
        - Scripting: languages/bash/scripting.md
        - Commands: languages/bash/commands.md
  - Misc:
    - Git: misc/git.md
    - GraphQL: misc/graph-ql.md
    - RegEx: misc/regular-expressions.md
    - SSH: misc/ssh.md
    - WebComponents: misc/web-components.md