{"/en/about/":{"data":{"":"Hextra is designed to be a simple, fast, and flexible theme for building modern static websites. It is especially well-suited for documentation websites but can also be used for various types of sites, such as blogs, portfolios, and more.\nHugo, like Jekyll, is a static site generator. What sets Hugo apart is that it is a single binary, making it easy to install and run on various platforms. It is also extremely fast and reliable, capable of rendering a site with thousands of pages in milliseconds.\nHextra is built with a mindset focused on having a minimal footprint. To get started, no extra dependencies like Node.js packages are required; all you need is a single YAML configuration file, along with your Markdown content. Thus, we can focus on writing quality content instead of setting up tooling.","credits#Credits":"Hextra cannot be built without the following tools and inspirations:\nHugo Tailwind CSS Heroicons Nextra Next.js "},"title":"About"},"/en/blog/":{"data":{"":" RSS Feed "},"title":"Alekha"},"/en/docs/":{"data":{"":"","features#\u003ca href=\"Beginnings\"\u003eFeatures\u003c/a\u003e":"👋 Hello! Welcome to the Hextra documentation!\nWhat is Hextra? Hextra is a modern, fast and batteries-included [Hugo][hugo] theme built with [Tailwind CSS][tailwind-css]. Designed for building beautiful websites for documentation, blogs, and websites, it provides out-of-the-box features and flexibility to meet various requirements.\nFeatures Beautiful Design - Inspired by Nextra, Hextra utilizes Tailwind CSS to offer a modern design that makes your site look outstanding. Responsive Layout and Dark Mode - It looks great on all devices, from mobile, tablet to desktop. Dark mode is also supported to accommodate various lighting conditions. Fast and Lightweight - Powered by Hugo, a lightning-fast static-site generator housed in a single binary file, Hextra keeps its footprint minimal. No JavaScript or Node.js are needed to use it. Full-text Search - Built-in offline full-text search powered by FlexSearch, no additional configuration required. Battery-included - Markdown, syntax highlighting, LaTeX math formulae, diagrams and Shortcodes elements to enhance your content. Table of contents, breadcrumbs, pagination, sidebar navigation and more are all automatically generated. Multi-language and SEO Ready - Multi-language sites made easy with Hugo’s multilingual mode. Out-of-the-box support is included for SEO tags, Open Graph, and Twitter Cards. ","questions-or-feedback#Questions or Feedback?":" ❓ Hextra is still in active development. Have a question or feedback? Feel free to open an issue! ","what-is-hextra#What is Hextra?":""},"title":"Documentation"},"/en/docs/advanced/":{"data":{"":"This section covers some advanced topics of the theme.\nMulti-language Customization Comments System "},"title":"Advanced"},"/en/docs/advanced/comments/":{"data":{"":"Hextra supports adding comments system to your site. Currently giscus is supported.","giscus#giscus":"giscus is a comments system powered by GitHub Discussions. It is free and open source.\nTo enable giscus, you need to add the following to the site configuration file:\nhugo.yamlparams: comments: enable: false type: giscus giscus: repo: \u003crepository\u003e repoId: \u003crepository ID\u003e category: \u003ccategory\u003e categoryId: \u003ccategory ID\u003e The giscus configurations can be constructed from the giscus.app website. More details can also be found there.\nComments can be enabled or disabled for a specific page in the page front matter:\ncontent/docs/about.md--- title: About comments: true --- "},"title":"Comments"},"/en/docs/advanced/customization/":{"data":{"":"Hextra offers some default customization options in the hugo.yaml config file to configure the theme. This page describes the available options and how to customize the theme further.","custom-css#Custom CSS":"To add custom CSS, we need to create a file assets/css/custom.css in our site. Hextra will automatically load this file.\nFont Family The font family of the content can be customized using:\nassets/css/custom.css.content { font-family: \"Times New Roman\", Times, serif; } Inline Code Element The color of text mixed with other text can customized with:\nassets/css/custom.css.content code:not(.code-block code) { color: #c97c2e; } Primary Color The primary color of the theme can be customized by setting the --primary-hue, --primary-saturation and --primary-lightness variables:\nassets/css/custom.css:root { --primary-hue: 100deg; --primary-saturation: 90%; --primary-lightness: 50%; } Further Theme Customization The theme can be further customized by overriding the default styles via the exposed css classes. An example for customizing the footer element:\nassets/css/custom.css.hextra-footer { /* Styles will be applied to the footer element */ } .hextra-footer:is(html[class~=\"dark\"] *) { /* Styles will be applied to the footer element in dark mode */ } The following classes can be used to customize various parts of the theme.\nGeneral hextra-scrollbar - The scrollbar element content - Page content container Shortcodes Badge hextra-badge - The badge element Card hextra-card - The card element hextra-card-image - The card image element hextra-card-icon - The card icon element hextra-card-subtitle - The card subtitle element Cards hextra-cards - The cards grid container Jupyter Notebook hextra-jupyter-code-cell - The Jupyter code cell container hextra-jupyter-code-cell-outputs-container - The Jupyter code cell outputs container hextra-jupyter-code-cell-outputs - The Jupyter code cell output div element PDF hextra-pdf - The PDF container element Steps steps - The steps container Tabs hextra-tabs-panel - The tabs panel container hextra-tabs-toggle - The tabs toggle button Filetree hextra-filetree - The filetree container Folder hextra-filetree-folder - The filetree folder container Navbar nav-container - The navbar container nav-container-blur - The navbar container in blur element hamburger-menu - The hamburger menu button Footer hextra-footer - The footer element hextra-custom-footer - The custom footer section container Search search-wrapper - The search wrapper container search-input - The search input element search-results - The search results list container Table of Contents hextra-toc - The table of contents container Sidebar mobile-menu-overlay - The overlay element for the mobile menu sidebar-container - The sidebar container sidebar-active-item - The active item in the sidebar Language Switcher language-switcher - The language switcher button language-options - The language options container Theme Toggle theme-toggle - The theme toggle button Code Copy Button hextra-code-copy-btn-container - The code copy button container hextra-code-copy-btn - The code copy button Code Block hextra-code-block - The code block container Feature Card hextra-feature-card - The feature card link element Feature Grid hextra-feature-grid - The feature grid container Breadcrumbs No specific class is available for breadcrumbs.\nSyntax Highlighting List of available syntax highlighting themes are available at Chroma Styles Gallery. The stylesheet can be generated using the command:\nhugo gen chromastyles --style=github To override the default syntax highlighting theme, we can add the generated styles to the custom CSS file.","custom-extra-section-in-footer#Custom Extra Section in Footer":"You can add extra section in the footer by creating a file layouts/partials/custom/footer.html in your site.\nlayouts/partials/custom/footer.html\u003c!-- Your footer element here --\u003e The added section will be added before the copyright section in the footer. You can use HTML and Hugo template syntax to add your own content.\nHugo variables available in the footer section are: .switchesVisible and .displayCopyright.","custom-layouts#Custom Layouts":"The layouts of the theme can be overridden by creating a file with the same name in the layouts directory of your site. For example, to override the single.html layout for docs, create a file layouts/docs/single.html in your site.\nFor further information, refer to the [Hugo Templates][hugo-template-docs].","custom-scripts#Custom Scripts":"You may add custom scripts to the end of the head for every page by adding the following file:\nlayouts/partials/custom/head-end.html ","further-customization#Further Customization":"Didn’t find what you were looking for? Feel free to open a discussion or make a contribution to the theme!"},"title":"Customization"},"/en/docs/advanced/multi-language/":{"data":{"":"Hextra supports creating site with multiple languages using Hugo’s multilingual mode.","enable-multi-language#Enable Multi-language":"To make our site multi-language, we need to tell Hugo the supported languages. We need to add to the site configuration file:\nhugo.yamldefaultContentLanguage: en languages: en: languageName: English weight: 1 fr: languageName: Français weight: 2 ja: languageName: 日本語 weight: 3 ","manage-translations-by-filename#Manage Translations by Filename":"Hugo supports managing translations by filename. For example, if we have a file content/docs/_index.md in English, we can create a file content/docs/_index.fr.md for French translation.\ncontent docs _index.md _index.fr.md _index.ja.md Note: Hugo also supports Translation by content directory.","read-more#Read More":" Hugo Multilingual Mode Hugo Multilingual Part 1: Content translation Hugo Multilingual Part 2: Strings localization ","translate-menu-items#Translate Menu Items":"To translate menu items in the navigation bar, we need to set the identifier field:\nhugo.yamlmenu: main: - identifier: documentation name: Documentation pageRef: /docs weight: 1 - identifier: blog name: Blog pageRef: /blog weight: 2 and translate them in the corresponding i18n file:\ni18n/fr.yamldocumentation: Documentation blog: Blog ","translate-strings#Translate Strings":"To translate strings on the other places, we need to add the translation to the corresponding i18n file:\ni18n/fr.yamlreadMore: Lire la suite A list of strings used in the theme can be found in the i18n/en.yaml file."},"title":"Multi-language"},"/en/docs/getting-started/":{"data":{"":"","next#Next":"Explore the following sections to start adding more contents:\nOrganize Files Configuration Markdown ","quick-start-from-template#Quick Start from Template":" imfing/hextra-starter-template\nYou could quickly get started by using the above template repository.\nWe have provided a GitHub Actions workflow which can help automatically build and deploy your site to GitHub Pages, and host it for free. For more options, check out Deploy Site.\n🌐 Demo ↗","start-as-new-project#Start as New Project":"There are two main ways to add the Hextra theme to your Hugo project:\nHugo Modules (Recommended): The simplest and recommended method. Hugo modules let you pull in the theme directly from its online source. Theme is downloaded automatically and managed by Hugo.\nGit Submodule: Alternatively, add Hextra as a Git Submodule. The theme is downloaded by Git and stored in your project’s themes folder.\nSetup Hextra as Hugo module Prerequisites Before starting, you need to have the following software installed:\nHugo (extended version) Git Go Steps Initialize a new Hugo site hugo new site my-site --format=yaml Configure Hextra theme via module # initialize hugo module cd my-site hugo mod init github.com/username/my-site # add Hextra theme hugo mod get github.com/imfing/hextra Configure hugo.yaml to use Hextra theme by adding the following:\nmodule: imports: - path: github.com/imfing/hextra Create your first content pages Create new content page for the home page and the documentation page:\nhugo new content/_index.md hugo new content/docs/_index.md Preview the site locally hugo server --buildDrafts --disableFastRender Voila, your new site preview is available at http://localhost:1313/.\nHow to update theme? To update all Hugo modules in your project to their latest versions, run the following command:\nhugo mod get -u To update Hextra to the latest released version, run the following command:\nhugo mod get -u github.com/imfing/hextra See Hugo Modules for more details.\nSetup Hextra as Git submodule Prerequisites Before starting, you need to have the following software installed:\nHugo (extended version) Git Steps Initialize a new Hugo site hugo new site my-site --format=yaml Add Hextra theme as a Git submodule git submodule add https://github.com/imfing/hextra.git themes/hextra Configure hugo.yaml to use Hextra theme by adding the following:\ntheme: hextra Create your first content pages Create new content page for the home page and the documentation page:\nhugo new content/_index.md hugo new content/docs/_index.md Preview the site locally hugo server --buildDrafts --disableFastRender Your new site preview is available at http://localhost:1313/.\nWhen using CI/CD for Hugo website deployment, it’s essential to ensure that the following command is executed before running the hugo command.\ngit submodule update --init Failure to run this command results in the theme folder not being populated with Hextra theme files, leading to a build failure.\nHow to update theme? To update all submodules in your repository to their latest commits, run the following command:\ngit submodule update --remote To update Hextra to the latest commit, run the following command:\ngit submodule update --remote themes/hextra See Git submodules for more details."},"title":"Getting Started"},"/en/docs/guide/":{"data":{"":"Explore the following sections to learn how to use Hextra:\nOrganize Files Configuration Markdown Syntax Highlighting LaTeX Diagrams Shortcodes Deploy Site "},"title":"Guide"},"/en/docs/guide/configuration/":{"data":{"":"Hugo reads its configuration from hugo.yaml in the root of your Hugo site. The config file is where you can configure all aspects of your site. Check out the config file for this site exampleSite/hugo.yaml on GitHub to get a comprehensive idea of available settings and best practices.","footer#Footer":"Copyright To modify the copyright text displayed in your website’s footer, you’ll need to create a file named i18n/en.yaml. In this file, specify your new copyright text as shown below:\ni18n/en.yamlcopyright: \"© 2024 YOUR TEXT HERE\" For your reference, an example i18n/en.yaml file can be found in the GitHub repository. Additionally, you could use Markdown format in the copyright text.","navigation#Navigation":"Menu Top right menu is defined under the menu.main section in the config file:\nhugo.yamlmenu: main: - name: Documentation pageRef: /docs weight: 1 - name: Blog pageRef: /blog weight: 2 - name: About pageRef: /about weight: 3 - name: Search weight: 4 params: type: search - name: GitHub weight: 5 url: \"https://github.com/imfing/hextra\" params: icon: github There are different types of menu items:\nLink to a page in the site with pageRef - name: Documentation pageRef: /docs Link to an external URL with url - name: GitHub url: \"https://github.com\" Search bar with type: search - name: Search params: type: search Icon - name: GitHub params: icon: github These menu items can be sorted by setting the weight parameter.\nLogo and Title To modify the default logo, edit hugo.yaml and add the path to your logo file under static directory. Optionally, you can change the link that users are redirected to when clicking on your logo, as well as set the width \u0026 height of the logo in pixels.\nhugo.yamlparams: navbar: displayTitle: true displayLogo: true logo: path: images/logo.svg dark: images/logo-dark.svg link: / width: 40 height: 20 ","others#Others":"Favicon To customize the favicon for your site, place icon files under the static folder to override the default favicons from the theme:\nstatic android-chrome-192x192.png android-chrome-512x512.png apple-touch-icon.png favicon-16x16.png favicon-32x32.png favicon-dark.svg favicon.ico favicon.svg site.webmanifest Include favicon.ico, favicon.svg and favicon-dark.svg files in your project to ensure your site’s favicons display correctly.\nWhile favicon.ico is generally for older browsers, favicon.svg and favicon-dark.svg are supported by modern browsers. Use tools like favicon.io or favycon to generate such icons.\nTheme Configuration Use the theme setting to configure the default theme mode and toggle button, allowing visitors to switch between light or dark mode.\nhugo.yamlparams: theme: # light | dark | system default: system displayToggle: true Options for theme.default:\nlight - always use light mode dark - always use dark mode system - sync with the operating system setting (default) The theme.displayToggle parameter allows you to display a toggle button for changing themes. When set to true, visitors can switch between light or dark mode, overriding the default setting.\nPage Last Modification The date of the page’s last modification can be displayed by enabling the params.displayUpdatedDate flag. To use Git commit date as the source, enable also the enableGitInfo flag.\nTo customize the date format, set the params.dateFormat parameter. Its layout matches Hugo’s time.Format.\nhugo.yaml# Parse Git commit enableGitInfo: true params: # Display the last modification date displayUpdatedDate: true dateFormat: \"January 2, 2006\" Page Width The width of the page can be customized by the params.page.width parameter in the config file:\nhugo.yamlparams: page: # full (100%), wide (90rem), normal (1280px) width: wide There are three available options: full, wide, and normal. By default, the page width is set to normal.\nSimilarly, the width of the navbar and footer can be customized by the params.navbar.width and params.footer.width parameters.\nSearch Index Full-text search powered by FlexSearch is enabled by default. To customize the search index, set the params.search.flexsearch.index parameter in the config file:\nhugo.yamlparams: # Search search: enable: true type: flexsearch flexsearch: # index page by: content | summary | heading | title index: content Options for flexsearch.index:\ncontent - full content of the page (default) summary - summary of the page, see Hugo Content Summaries for more details heading - level 1 and level 2 headings title - only include the page title To customize the search tokenize, set the params.search.flexsearch.tokenize parameter in the config file:\nhugo.yamlparams: # ... flexsearch: # full | forward | reverse | strict tokenize: forward Options for flexsearch.tokenize:\nstrict - index whole words forward - incrementally index words in forward direction reverse - incrementally index words in both directions full - index every possible combination To exclude a page from the search index, set the excludeSearch: true in the front matter of the page:\ncontent/docs/guide/configuration.md--- title: Configuration excludeSearch: true --- Google Analytics To enable Google Analytics, set services.googleAnalytics.ID flag in hugo.yaml:\nhugo.yamlservices: googleAnalytics: ID: G-MEASUREMENT_ID ","right-sidebar#Right Sidebar":"Table of Contents Table of contents is automatically generated from the headings in the content file. It can be disabled by setting toc: false in the front matter of the page.\ncontent/docs/guide/configuration.md--- title: Configuration toc: false --- Page Edit Link To configure the page edit link, we can set the params.editURL.base parameter in the config file:\nhugo.yamlparams: editURL: enable: true base: \"https://github.com/your-username/your-repo/edit/main\" The edit links will be automatically generated for each page based on the provided url as root directory. If you want to set edit link for a specific page, you can set the editURL parameter in the front matter of the page:\ncontent/docs/guide/configuration.md--- title: Configuration editURL: \"https://example.com/edit/this/page\" --- ","sidebar#Sidebar":"Main Sidebar For the main sidebar, it is automatically generated from the structure of the content directory. See the Organize Files page for more details.\nTo exclude a single page from the left sidebar, set the sidebar.exclude parameter in the front matter of the page:\ncontent/docs/guide/configuration.md--- title: Configuration sidebar: exclude: true --- Extra Links Sidebar extra links are defined under the menu.sidebar section in the config file:\nhugo.yamlmenu: sidebar: - name: More params: type: separator weight: 1 - name: \"About\" pageRef: \"/about\" weight: 2 - name: \"Hugo Docs ↗\" url: \"https://gohugo.io/documentation/\" weight: 3 "},"title":"Configuration"},"/en/docs/guide/deploy-site/":{"data":{"":"Hugo generates static websites, allowing for flexible hosting options. This page provides guides for deploying your Hextra site on various platforms.","cloudflare-pages#Cloudflare Pages":" Put your site source code in a Git repository (e.g. GitHub) Log in to the Cloudflare dashboard and select your account In Account Home, select Workers \u0026 Pages \u003e Create application \u003e Pages \u003e Connect to Git Select the repository, and in the Set up builds and deployments section, provide the following information: Configuration Value Production branch main Build command hugo --gc --minify Build directory public For more details, check out:\nDeploy a Hugo site. Language support and tools. ","github-pages#GitHub Pages":"GitHub Pages is the recommended way to deploy and host your website for free.\nIf you bootstrap the site using hextra-starter-template, it has provided GitHub Actions workflow out-of-the-box that helps automatically deploy to GitHub Pages.\nGitHub Actions Configuration Below is an example configuration from hextra-starter-template:\n.github/workflows/pages.yaml# Sample workflow for building and deploying a Hugo site to GitHub Pages name: Deploy Hugo site to Pages on: # Runs on pushes targeting the default branch push: branches: [\"main\"] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: \"pages\" cancel-in-progress: false # Default to bash defaults: run: shell: bash jobs: # Build job build: runs-on: ubuntu-latest env: HUGO_VERSION: 0.138.0 steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 # fetch all history for .GitInfo and .Lastmod submodules: recursive - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.22' - name: Setup Pages id: pages uses: actions/configure-pages@v4 - name: Setup Hugo run: | wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \\ \u0026\u0026 sudo dpkg -i ${{ runner.temp }}/hugo.deb - name: Build with Hugo env: # For maximum backward compatibility with Hugo modules HUGO_ENVIRONMENT: production HUGO_ENV: production run: | hugo \\ --gc --minify \\ --baseURL \"${{ steps.pages.outputs.base_url }}/\" - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./public # Deployment job deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 In your repository settings, set the Pages \u003e Build and deployment \u003e Source to GitHub Actions: By default, the above GitHub Actions workflow .github/workflows/pages.yaml assumes that the site is deploying to https://\u003cUSERNAME\u003e.github.io/\u003cREPO\u003e/.\nIf you are deploying to https://\u003cUSERNAME\u003e.github.io/ then modify the --baseURL:\n.github/workflows/pages.yaml 54 55 56 57 run: | hugo \\ --gc --minify \\ --baseURL \"https://${{ github.repository_owner }}.github.io/\" If you are deploying to your own domain, please change the --baseURL value accordingly.","netlify#Netlify":" Push your code to your Git repository (GitHub, GitLab, etc.) Import the project to Netlify If you are not using [hextra-starter-template][hextra-starter-template], configure the following manually: Configure the Build command to hugo --gc --minify Specify the Publish directory to public Add Environment variable HUGO_VERSION and set to 0.138.0, or alternatively, set it in netlify.toml file Deploy! Check Hugo on Netlify for more details.","vercel#Vercel":" Push your code to your Git repository (GitHub, GitLab, etc.) Go to Vercel Dashboard and import your Hugo project Configure the project, select Hugo as Framework Preset Override the Build Command and Install command: Set Build Command to hugo --gc --minify Set Install Command to yum install golang "},"title":"Deploy Site"},"/en/docs/guide/diagrams/":{"data":{"":"Currently, Hextra supports Mermaid for diagrams.","mermaid#Mermaid":"Mermaid is a JavaScript based diagramming and charting tool that takes Markdown-inspired text definitions and creates diagrams dynamically in the browser. For example, Mermaid can render flow charts, sequence diagrams, pie charts and more.\nUsing Mermaid in Hextra is as simple as writing a code block with language set mermaid:\n```mermaid graph TD; A--\u003eB; A--\u003eC; B--\u003eD; C--\u003eD; ``` will be rendered as:\ngraph TD; A--\u003eB; A--\u003eC; B--\u003eD; C--\u003eD; Sequence diagram:\nsequenceDiagram participant Alice participant Bob Alice-\u003e\u003eJohn: Hello John, how are you? loop Healthcheck John-\u003e\u003eJohn: Fight against hypochondria end Note right of John: Rational thoughts \u003cbr/\u003eprevail! John--\u003e\u003eAlice: Great! John-\u003e\u003eBob: How about you? Bob--\u003e\u003eJohn: Jolly good! For more information, please refer to Mermaid Documentation."},"title":"Diagrams"},"/en/docs/guide/latex/":{"data":{"":"$\\KaTeX$ is used for rendering LaTeX math expressions. It can be enabled per page by setting math to true in the page front matter.\npage.md--- title: \"My Page with LaTeX\" math: true --- When enabled, the scripts, stylesheets and fonts from KaTeX will be included automatically in your site. You can start using LaTeX math expressions in your Markdown content.","chemistry#Chemistry":"Chemistry expressions are supported via mhchem extension.\nInline: $\\ce{H2O}$ is water.\nSeparate paragraph:\npage.md$$\\ce{Hg^2+ -\u003e[I-] HgI2 -\u003e[I-] [Hg^{II}I4]^2-}$$ HgX2+→IX−HgIX2→IX−[HgXIIIX4]X2−\\ce{Hg^2+ -\u003e[I-] HgI2 -\u003e[I-] [Hg^{II}I4]^2-}HgX2+IX−​HgIX2​IX−​[HgXIIIX4​]X2−","example#Example":"Both inline and separate paragraph LaTeX math expressions are supported in the Markdown content.\nInline page.mdThis $\\sigma(z) = \\frac{1}{1 + e^{-z}}$ is inline. This $\\sigma(z) = \\frac{1}{1 + e^{-z}}$ is inline.\nSeparate Paragraph page.md$$F(\\omega) = \\int_{-\\infty}^{\\infty} f(t) e^{-j\\omega t} \\, dt$$ will be rendered as:\nF(ω)=∫−∞∞f(t)e−jωt dtF(\\omega) = \\int_{-\\infty}^{\\infty} f(t) e^{-j\\omega t} \\, dtF(ω)=∫−∞∞​f(t)e−jωtdt Important\nPlease enable and configure the passthrough extension in the Hugo configuration file. It preserves raw content within the delimiters to avoid rendering issues for complex expressions.\nhugo.yamlmarkup: goldmark: extensions: passthrough: delimiters: block: [['\\[', '\\]'], ['$$', '$$']] inline: [['\\(', '\\)']] enable: true For example, using the aligned environment:\npage.md$$ \\begin{aligned} \\nabla \\cdot \\mathbf{E} \u0026= \\frac{\\rho}{\\varepsilon_0} \\\\ \\nabla \\cdot \\mathbf{B} \u0026= 0 \\\\ \\nabla \\times \\mathbf{E} \u0026= -\\frac{\\partial \\mathbf{B}}{\\partial t} \\\\ \\nabla \\times \\mathbf{B} \u0026= \\mu_0 \\left( \\mathbf{J} + \\varepsilon_0 \\frac{\\partial \\mathbf{E}}{\\partial t} \\right) \\end{aligned} $$ will be rendered as:\n∇⋅E=ρε0∇⋅B=0∇×E=−∂B∂t∇×B=μ0(J+ε0∂E∂t) \\begin{aligned} \\nabla \\cdot \\mathbf{E} \u0026= \\frac{\\rho}{\\varepsilon_0} \\\\ \\nabla \\cdot \\mathbf{B} \u0026= 0 \\\\ \\nabla \\times \\mathbf{E} \u0026= -\\frac{\\partial \\mathbf{B}}{\\partial t} \\\\ \\nabla \\times \\mathbf{B} \u0026= \\mu_0 \\left( \\mathbf{J} + \\varepsilon_0 \\frac{\\partial \\mathbf{E}}{\\partial t} \\right) \\end{aligned} ∇⋅E∇⋅B∇×E∇×B​=ε0​ρ​=0=−∂t∂B​=μ0​(J+ε0​∂t∂E​)​","supported-functions#Supported Functions":"For a list of supported functions, see KaTeX supported functions."},"title":"LaTeX"},"/en/docs/guide/markdown/":{"data":{"":"Hugo supports Markdown syntax for formatting text, creating lists, and more. This page will show you some of the most common Markdown syntax examples.","configuration#Configuration":"Hugo uses Goldmark for Markdown parsing. Markdown rendering can be configured in hugo.yaml under markup.goldmark. Below is the default configuration for Hextra:\nhugo.yamlmarkup: goldmark: renderer: unsafe: true highlight: noClasses: false For more configuration options, see Hugo documentation on Configure Markup.","learning-resources#Learning Resources":" Markdown Guide Markdown Cheatsheet Markdown Tutorial Markdown Reference ","markdown-examples#Markdown Examples":"Styling Text Style Syntax Example Output Bold **bold text** **bold text** bold text Italic *italicized text* *italicized text* italicized text Strikethrough ~~strikethrough text~~ ~~strikethrough text~~ strikethrough text Subscript \u003csub\u003e\u003c/sub\u003e This is a \u003csub\u003esubscript\u003c/sub\u003e text This is a subscript text Superscript \u003csup\u003e\u003c/sup\u003e This is a \u003csup\u003esuperscript\u003c/sup\u003e text This is a superscript text Blockquotes Blockquote with attribution\nDon’t communicate by sharing memory, share memory by communicating.\n— Rob Pike1\nMarkdown\u003e Don't communicate by sharing memory, share memory by communicating.\u003cbr\u003e \u003e — \u003ccite\u003eRob Pike[^1]\u003c/cite\u003e [^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. Alerts New in v0.9.0 Alerts are a Markdown extension based on the blockquote syntax that you can use to emphasize critical information. GitHub-style alerts are supported. Please make sure you are using the latest version of Hextra and Hugo v0.134.0 or later.\nNote\nUseful information that users should know, even when skimming content.\nTip\nHelpful advice for doing things better or more easily.\nImportant\nKey information users need to know to achieve their goal.\nWarning\nUrgent info that needs immediate user attention to avoid problems.\nCaution\nAdvises about risks or negative outcomes of certain actions.\nMarkdown\u003e [!NOTE] \u003e Useful information that users should know, even when skimming content. \u003e [!TIP] \u003e Helpful advice for doing things better or more easily. \u003e [!IMPORTANT] \u003e Key information users need to know to achieve their goal. \u003e [!WARNING] \u003e Urgent info that needs immediate user attention to avoid problems. \u003e [!CAUTION] \u003e Advises about risks or negative outcomes of certain actions. Tables Tables aren’t part of the core Markdown spec, but Hugo supports them out-of-the-box.\nName Age Bob 27 Alice 23 Markdown| Name | Age | |--------|------| | Bob | 27 | | Alice | 23 | Inline Markdown within tables Italics Bold Code italics bold code Markdown| Italics | Bold | Code | | -------- | -------- | ------ | | *italics* | **bold** | `code` | Code Blocks Syntax Highlighting Lists Ordered List First item Second item Third item Markdown1. First item 2. Second item 3. Third item Unordered List List item Another item And another item Markdown* List item * Another item * And another item Nested list Fruit Apple Orange Banana Dairy Milk Cheese Markdown* Fruit * Apple * Orange * Banana * Dairy * Milk * Cheese Images Markdown![landscape](https://picsum.photos/800/600) With caption:\nUnsplash Landscape Markdown![landscape](https://picsum.photos/800/600 \"Unsplash Landscape\") For more advanced functionality, use Hugo’s built-in Figure shortcode.\nThe above quote is excerpted from Rob Pike’s talk during Gopherfest, November 18, 2015. ↩︎"},"title":"Markdown"},"/en/docs/guide/organize-files/":{"data":{"":"","add-images#Add Images":"To add images, the easiest way is to put the image files in the same directory as the Markdown file. For example, add an image file image.png alongside the my-page.md file:\ncontent docs my-page.md image.png Then, we can use the following Markdown syntax to add the image to the content:\ncontent/docs/my-page.md![](image.png) We can also utilize the page bundles feature of Hugo to organize the image files together with the Markdown file. To achieve that, turn the my-page.md file into a directory my-page and put the content into a file named index.md, and put the image files inside the my-page directory:\ncontent docs my-page index.md image.png content/docs/my-page/index.md![](image.png) Alternatively, we can also put the image files in the static directory, which will make the images available for all pages:\nstatic images image.png content docs my-page.md Note that the image path begins with a slash / and is relative to the static directory:\ncontent/docs/my-page.md![](/images/image.png) ","breadcrumb-navigation#Breadcrumb Navigation":"Breadcrumbs are auto-generated based on the directory structure of /content.\nFor example, consider the file structure demonstrated above. Given that structure, the breadcrumbs atop the page at /docs/guide/organize-files/ would appear automatically as follows:\nDocumentation \u003e Guide \u003e Organize Files Customizing Breadcrumb Link Titles By default, each breadcrumb link is generated based on that page’s title parameter. You can customize this by specifying a linkTitle.\nFor example, if instead of Organize Files we wanted the breadcrumb to be Foo Bar:\ncontent/docs/guide/organize-files.md--- linkTitle: Foo Bar title: Organize Files --- This would now generate the following breadcrumbs:\nDocumentation \u003e Guide \u003e Foo Bar Hiding Breadcrumbs You can hide breadcrumbs completely from a page by specifying breadcrumbs: false in its front matter:\ncontent/docs/guide/organize-files.md--- breadcrumbs: false title: Organize Files --- ","configure-content-directory#Configure Content Directory":"By default, the root content/ directory is used by Hugo to build the site. If you need to use a different directory for content, for example docs/, this can be done by setting the contentDir parameter in the site configuration hugo.yaml.","directory-structure#Directory Structure":"By default, Hugo searches for Markdown files in the content directory, and the structure of the directory determines the final output structure of your website. Take this site as an example:\ncontent _index.md docs _index.md getting-started.md guide _index.md organize-files.md blog _index.md post-1.md Each of the _index.md files is the index page for the corresponding section. The other Markdown files are regular pages.\ncontent ├── _index.md // \u003c- / ├── docs │ ├── _index.md // \u003c- /docs/ │ ├── getting-started.md // \u003c- /docs/getting-started/ │ └── guide │ ├── _index.md // \u003c- /docs/guide/ │ └── organize-files.md // \u003c- /docs/guide/organize-files/ └── blog ├── _index.md // \u003c- /blog/ └── post-1.md // \u003c- /blog/post-1/ ","layouts#Layouts":"Hextra offers three layouts for different content types:\nLayout Directory Features docs content/docs/ Ideal for structured documentation, same as this section. blog content/blog/ For blog postings, with both listing and detailed article views. default All other directories Single-page article view without sidebar. To customize a section to mirror the behavior of a built-in layout, specify the desired type in the front matter of the section’s _index.md.\ncontent/my-docs/_index.md--- title: My Docs cascade: type: docs --- The above example configuration ensures that the content files inside content/my-docs/ will be treated as documentation (docs type) by default.","sidebar-navigation#Sidebar Navigation":"The sidebar navigation is generated automatically based on the content organization alphabetically. To manually configure the sidebar order, we can use the weight parameter in the front matter of the Markdown files.\ncontent/docs/guide/_index.md--- title: Guide weight: 2 --- ℹ️ It is recommended to keep the sidebar not too deep. If you have a lot of content, consider splitting them into multiple sections. "},"title":"Organize Files"},"/en/docs/guide/shortcodes/":{"data":{"":"Hugo Shortcodes are simple snippets inside your content files calling built-in or custom templates.\nHextra provides a collection of beautiful shortcodes to enhance your content.\nCallout Cards Details FileTree Icon Steps Tabs Additional shortcodes provided by Hugo and Hextra:\nJupyter Notebook alpha Others "},"title":"Shortcodes"},"/en/docs/guide/shortcodes/callout/":{"data":{"":"A built-in component to show important information to the reader.\nNote\nGitHub-style alerts are supported since v0.9.0. It leverages Markdown syntax to render the callout which ensures better portability and readability of the content.","example#Example":" 👾 A callout is a short piece of text intended to attract attention. ℹ️ A callout is a short piece of text intended to attract attention. ⚠️ A callout is a short piece of text intended to attract attention. 🚫 A callout is a short piece of text intended to attract attention. ","usage#Usage":"Default 🌐 Hugo can be used to create a wide variety of websites, including blogs, portfolios, documentation sites, and more. {{\u003c callout emoji=\"🌐\" \u003e}} Hugo can be used to create a wide variety of websites, including blogs, portfolios, documentation sites, and more. {{\u003c /callout \u003e}} Info ℹ️ Please visit GitHub to see the latest releases. {{\u003c callout type=\"info\" \u003e}} Please visit GitHub to see the latest releases. {{\u003c /callout \u003e}} Warning ⚠️ This API will be deprecated in the next version. {{\u003c callout type=\"warning\" \u003e}} A **callout** is a short piece of text intended to attract attention. {{\u003c /callout \u003e}} Error 🚫 Something went wrong and it’s going to explode. {{\u003c callout type=\"error\" \u003e}} Something went wrong and it's going to explode. {{\u003c /callout \u003e}} "},"title":"Callout"},"/en/docs/guide/shortcodes/cards/":{"data":{"":"","card-parameters#Card Parameters":" Parameter Description link URL (internal or external). title Title heading for the card. subtitle Subtitle heading (supports Markdown). icon Name of the icon. tag Text in tag. tagColor Color of the tag: gray (default), yellow, red and blue. ","columns#Columns":"You can specify the maximum number of columns for cards to span by passing the cols parameter to the cards shortcode. Note that columns will still be collapsed on smaller screens.\nTop Card Bottom Card Left Card Right Card {{\u003c cards cols=\"1\" \u003e}} {{\u003c card link=\"/\" title=\"Top Card\" \u003e}} {{\u003c card link=\"/\" title=\"Bottom Card\" \u003e}} {{\u003c /cards \u003e}} {{\u003c cards cols=\"2\" \u003e}} {{\u003c card link=\"/\" title=\"Left Card\" \u003e}} {{\u003c card link=\"/\" title=\"Right Card\" \u003e}} {{\u003c /cards \u003e}} ","example#Example":" Callout Card with tag custom tag No Icon Image CardInternet Image Local ImageRaw image under static directory. Local ImageImage under assets directory, processed by Hugo. ","image-card#Image Card":"Additionally, the card supports adding image and processing through these parameters:\nParameter Description image Specifies the image URL for the card. method Sets Hugo’s image processing method. options Configures Hugo’s image processing options. Card supports three kinds of images:\nRemote image: the full URL in the image parameter. Static image: use the relative path in Hugo’s static/ directory. Processed image: use the relative path in Hugo’s assets/ directory. Hextra auto-detects if image processing is needed during build and applies the options parameter or default settings (Resize, 800x, Quality 80, WebP Format). It currently supports these method: Resize, Fit, Fill and Crop.\nFor more on Hugo’s built in image processing commands, methods, and options see their Image Processing Documentation.","tags#Tags":"Card supports adding tags which could be useful to show extra status information.\nCard with default tag tag text Card with error tag tag text Card with info tag tag text Card with warning tag tag text Image CardInternet Image tag text {{\u003c cards \u003e}} {{\u003c card link=\"../callout\" title=\"Card with default tag color\" tag=\"tag text\" \u003e}} {{\u003c card link=\"../callout\" title=\"Card with default red tag\" tag=\"tag text\" tagType=\"error\" \u003e}} {{\u003c card link=\"../callout\" title=\"Card with blue tag\" tag=\"tag text\" tagType=\"info\" \u003e}} {{\u003c card link=\"../callout\" title=\"Card with yellow tag\" tag=\"tag text\" tagType=\"warning\" \u003e}} {{\u003c /cards \u003e}} ","usage#Usage":" {{\u003c/* cards */\u003e}} {{\u003c/* card link=\"../callout\" title=\"Callout\" icon=\"warning\" */\u003e}} {{\u003c/* card link=\"../callout\" title=\"Card with tag\" icon=\"tag\" tag= \"A custom tag\" */\u003e}} {{\u003c/* card link=\"/\" title=\"No Icon\" */\u003e}} {{\u003c/* /cards */\u003e}} {{\u003c/* cards */\u003e}} {{\u003c/* card link=\"/\" title=\"Image Card\" image=\"https://source.unsplash.com/featured/800x600?landscape\" subtitle=\"Unsplash Landscape\" */\u003e}} {{\u003c/* card link=\"/\" title=\"Local Image\" image=\"/images/card-image-unprocessed.jpg\" subtitle=\"Raw image under static directory.\" */\u003e}} {{\u003c/* card link=\"/\" title=\"Local Image\" image=\"images/space.jpg\" subtitle=\"Image under assets directory, processed by Hugo.\" method=\"Resize\" options=\"600x q80 webp\" */\u003e}} {{\u003c/* /cards */\u003e}} "},"title":"Cards"},"/en/docs/guide/shortcodes/details/":{"data":{"":"A built-in component to display a collapsible content.","example#Example":" Details This is the content of the details.\nMarkdown is supported.\nClick me to reveal This will be hidden by default. ","usage#Usage":" {{%/* details title=\"Details\" */%}} This is the content of the details. Markdown is **supported**. {{%/* /details */%}} {{%/* details title=\"Click me to reveal\" closed=\"true\" */%}} This will be hidden by default. {{%/* /details */%}} "},"title":"Details"},"/en/docs/guide/shortcodes/filetree/":{"data":{"":"","example#Example":" content _index.md docs _index.md introduction.md introduction.fr.md hugo.toml ","usage#Usage":" Markdown{{\u003c/* filetree/container */\u003e}} {{\u003c/* filetree/folder name=\"content\" */\u003e}} {{\u003c/* filetree/file name=\"_index.md\" */\u003e}} {{\u003c/* filetree/folder name=\"docs\" state=\"closed\" */\u003e}} {{\u003c/* filetree/file name=\"_index.md\" */\u003e}} {{\u003c/* filetree/file name=\"introduction.md\" */\u003e}} {{\u003c/* filetree/file name=\"introduction.fr.md\" */\u003e}} {{\u003c/* /filetree/folder */\u003e}} {{\u003c/* /filetree/folder */\u003e}} {{\u003c/* filetree/file name=\"hugo.toml\" */\u003e}} {{\u003c/* /filetree/container */\u003e}} "},"title":"FileTree"},"/en/docs/guide/shortcodes/icon/":{"data":{"":"To use this shortcode inline, inline shortcode needs to be enabled in the config:\nhugo.yamlenableInlineShortcodes: true List of available icons can be found in data/icons.yaml.","example#Example":" ","usage#Usage":" {{\u003c/* icon \"github\" */\u003e}} Heroicons v1 outline icons are available out of the box.\nHow to add your own icons Create data/icons.yaml file, then add your own SVG icons in the following format:\ndata/icons.yamlyour-icon: \u003csvg\u003eyour icon svg content\u003c/svg\u003e It then can be used in the shortcode like this:\n{{\u003c/* icon \"your-icon\" */\u003e}} {{\u003c/* card icon=\"your-icon\" */\u003e}} Tip: Iconify Design is a great place to find SVG icons for your site."},"title":"Icon"},"/en/docs/guide/shortcodes/jupyter/":{"data":{"":" Experimental feature to include Jupyter Notebooks via a shortcode. Note that not all cell types are supported. Jupyter Notebook is a language-agnostic HTML notebook application for Project Jupyter. It allows you to create and share documents that contain live code, equations, visualizations, and narrative text.","example-notebook#Example Notebook":" ℹ️ The following is an example of a notebook file that is included in the project assets folder. What is the Jupyter Notebook? The Jupyter Notebook is an interactive computing environment that enables users to author notebook documents that include:\nLive code Interactive widgets Plots Narrative text Equations Images Video These documents provide a complete and self-contained record of a computation that can be converted to various formats and shared with others using email, version control systems (like Git/GitHub) or nbviewer.jupyter.org.\nData Visualization Below is an example of a simple data visualization using the Seaborn library.\n# Import seaborn import seaborn as sns # Apply the default theme sns.set_theme() # Load an example dataset tips = sns.load_dataset(\"tips\") # Create a visualization sns.relplot( data=tips, x=\"total_bill\", y=\"tip\", col=\"time\", hue=\"smoker\", style=\"smoker\", size=\"size\", ) Matplotlib is building the font cache; this may take a moment. \u003cseaborn.axisgrid.FacetGrid at 0x12830caa0\u003e tips.head() total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4 total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4 Equations The following is an example of a simple equation using LaTeX.\nE=mc2 E = mc^2 E=mc2","how-to-use#How to use":"Using a local notebook To use the Jupyter Notebook shortcode, you need to have a Jupyter Notebook file in your project. Similar to how you would add images to the project, you can add Jupyter Notebooks to the assets folder.\nassets notebook.ipynb content docs my-page.md Include the Jupyter Notebook in the page using the jupyter shortcode:\ncontent/docs/my-page.md--- title: My Page math: true --- {{% jupyter \"notebook.ipynb\" %}} Alternatively, you can utilize the [page bundles][page-bundles] feature of Hugo to organize the Jupyter Notebooks together with the Markdown file.\ncontent docs my-page index.md notebook.ipynb content/docs/my-page/index.md--- title: My Page math: true --- {{% jupyter \"notebook.ipynb\" %}} Using a remote notebook You can also use a remote notebook by providing the URL to the notebook file. For example, to include What is the Jupyter Notebook notebook in the page, you can use the following shortcode:\n{{% jupyter \"https://raw.githubusercontent.com/jupyter/notebook/main/docs/source/examples/Notebook/What%20is%20the%20Jupyter%20Notebook.ipynb\" %}} "},"title":"Jupyter Notebook"},"/en/docs/guide/shortcodes/others/":{"data":{"":" ℹ️ Some of these are Hugo built-in shortcodes. These shortcodes are considered less stable and may be changed anytime. ","badge#Badge":" {{\u003c badge \"Badge\" \u003e}} Result:\nBadge Variants:\n{{\u003c badge content=\"info\" type=\"info\" \u003e}} {{\u003c badge content=\"warning\" type=\"warning\" \u003e}} {{\u003c badge content=\"error\" type=\"error\" \u003e}} Result:\ninfo warning error With link and icon:\n{{\u003c badge content=\"Releases\" link=\"https://github.com/imfing/hextra/releases\" icon=\"github\" \u003e}} Result:\nReleases ","pdf#PDF":"With PDF shortcode, you can embed a PDF file in your content.\n{{\u003c pdf \"https://example.com/sample.pdf\" \u003e}} You can also place the PDF file in your project directory and use the relative path.\n{{\u003c pdf \"path/to/file.pdf\" \u003e}} Example:","youtube#YouTube":"Embed a YouTube video.\n{{\u003c youtube VIDEO_ID \u003e}} Result:\nFor more information, see Hugo’s YouTube Shortcode."},"title":"Others"},"/en/docs/guide/shortcodes/steps/":{"data":{"":"A built-in component to display a series of steps.","example#Example":" Step 1 This is the first step.\nStep 2 This is the second step.\nStep 3 This is the third step.","usage#Usage":" ℹ️ Please note that this shortcode is intended only for Markdown content. If you put HTML content or other shortcodes as step content, it may not render as expected. Put Markdown h3 header within steps shortcode.\n{{% steps %}} ### Step 1 This is the first step. ### Step 2 This is the second step. {{% /steps %}} "},"title":"Steps"},"/en/docs/guide/shortcodes/tabs/":{"data":{"":"","example#Example":" JSONYAMLTOML JSON: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. YAML: YAML is a human-readable data serialization language. TOML: TOML aims to be a minimal configuration file format that’s easy to read due to obvious semantics. ","usage#Usage":"Default {{\u003c tabs items=\"JSON,YAML,TOML\" \u003e}} {{\u003c tab \u003e}}**JSON**: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax.{{\u003c /tab \u003e}} {{\u003c tab \u003e}}**YAML**: YAML is a human-readable data serialization language.{{\u003c /tab \u003e}} {{\u003c tab \u003e}}**TOML**: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.{{\u003c /tab \u003e}} {{\u003c /tabs \u003e}} Specify Selected Index Use defaultIndex property to specify the selected tab. The index starts from 0.\n{{\u003c tabs items=\"JSON,YAML,TOML\" defaultIndex=\"1\" \u003e}} {{\u003c tab \u003e}}**JSON**: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax.{{\u003c /tab \u003e}} {{\u003c tab \u003e}}**YAML**: YAML is a human-readable data serialization language.{{\u003c /tab \u003e}} {{\u003c tab \u003e}}**TOML**: TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics.{{\u003c /tab \u003e}} {{\u003c /tabs \u003e}} The YAML tab will be selected by default.\nJSONYAMLTOML JSON: JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. YAML: YAML is a human-readable data serialization language. TOML: TOML aims to be a minimal configuration file format that’s easy to read due to obvious semantics. Use Markdown Markdown syntax including code block is also supported:\n{{\u003c tabs items=\"JSON,YAML,TOML\" \u003e}} {{\u003c tab \u003e}} ```json { \"hello\": \"world\" } ``` {{\u003c /tab \u003e}} ... add other tabs similarly {{\u003c /tabs \u003e}} JSONYAMLTOML { \"hello\": \"world\" } hello: world hello = \"world\" "},"title":"Tabs"},"/en/docs/guide/syntax-highlighting/":{"data":{"":"Hugo uses Chroma, a general purpose syntax highlighter in pure Go, for syntax highlighting. It is recommended to use backticks for code blocks in Markdown content. For example:\nMarkdown```python def say_hello(): print(\"Hello!\") ``` will be rendered as:\ndef say_hello(): print(\"Hello!\") ","features#Features":"Filename To add a filename or title to the code block, set attribute filename:\nMarkdown```python {filename=\"hello.py\"} def say_hello(): print(\"Hello!\") ``` hello.pydef say_hello(): print(\"Hello!\") Link to File New in v0.9.2 You can use the base_url attribute to provide a base URL that will be combined with the file name to generate a link.\nThe file name can include a relative path if it specifies the file’s location within the base path.\nMarkdown```go {base_url=\"https://github.com/imfing/hextra/blob/main/\",filename=\"exampleSite/hugo.work\"} go 1.20 ``` exampleSite/hugo.workgo 1.20 Line Numbers To set line numbers, set attribute linenos to table and optionally set linenostart to the starting line number:\nMarkdown```python {linenos=table,linenostart=42} def say_hello(): print(\"Hello!\") ``` 42 43 def say_hello(): print(\"Hello!\") Highlighting Lines To highlight lines, set attribute hl_lines to a list of line numbers:\nMarkdown```python {linenos=table,hl_lines=[2,4],linenostart=1,filename=\"hello.py\"} def say_hello(): print(\"Hello!\") def main(): say_hello() ``` hello.py 1 2 3 4 5 def say_hello(): print(\"Hello!\") def main(): say_hello() Copy Button By default, copy button is enabled for code blocks. Its behavior can changed by modifying the site configuration file:\nhugo.yaml 42 43 44 45 46 47 params: highlight: copy: enable: true # hover | always display: hover ","supported-languages#Supported Languages":"For a list of supported languages, please see the Chroma documentation."},"title":"Syntax Highlighting"},"/en/intro/":{"data":{"":" "},"title":"Introduction"},"/en/intro/history/":{"data":{"":"This timeline chronicles some of the significant events and personalities in the evolution of Theravada Buddhism that, in one way or another, figure prominently in the readings found elsewhere on this website. This is not meant to be a comprehensive chronology.\nThe sources used in constructing this timeline (indicated by braces {} and listed at the end of this document) often assumed different dates for the Buddha’s nativity. For this reason, I have occasionally had to interpolate in order to fit events (particularly the early ones) onto a reasonably consistent timeline. Nevertheless, this chronology should provide a fairly clear picture of the relative sequence of events, if not the absolute dates on which they occurred.\nFor a general introduction to Theravada Buddhism, please see “What is Theravada Buddhism?”.\nBE[1] CE[2] -80 -624/-560 The Bodhisatta (Sanskrit: Bodhisattva), or Buddha-to-be, is born in Lumbini (in present-day Nepal) as Siddhattha (Skt: Siddhartha) Gotama, a prince of the Sakya clan. {1,2} -51 -595/-531 The Bodhisatta renounces the householder life (age 29). -45 -589/-525 While meditating under the Bo tree in the forest at Gaya (now Bodhgaya, India) during the full-moon night of May, the Bodhisatta becomes the Buddha (age 36). During the full-moon night of July, the Buddha delivers his first discourse near Varanasi, introducing the world to the Four Noble Truths and commencing a 45-year career of teaching the religion he called “Dhamma-vinaya.”\n1 -544/-480 Parinibbana (Skt: Parinirvana; death and final release) of the Buddha, at Kusinara (now Kusinagar, India) (age 80). {1,3} During the rains retreat following the Buddha’s Parinibbana, the First Council (sangayana) convenes at Rajagaha, India, during which 500 arahant bhikkhus, led by Ven. Mahakassapa, gather to recite the entire body of the Buddha’s teachings. The recitation of the Vinaya by Ven. Upali becomes accepted as the Vinaya Pitaka; the recitation of the Dhamma by Ven. Ananda becomes established as the Sutta Pitaka. {1,4}\n100 -444/-380 100 years after the Buddha’s Parinibbana the Second Council convenes in Vesali to discuss controversial points of Vinaya. The first schism of the Sangha occurs, in which the Mahasanghika school parts ways with the traditionalist Sthaviravadins. At issue is the Mahasanghika’s reluctance to accept the Suttas and the Vinaya as the final authority on the Buddha’s teachings. This schism marks the first beginnings of what would later evolve into Mahayana Buddhism, which would come to dominate Buddhism in northern Asia (China, Tibet, Japan, Korea). {1} 294 -250 Third Council is convened by King Asoka at Pataliputra (India). Disputes on points of doctrine lead to further schisms, spawning the Sarvastivadin and Vibhajjavadin sects. The Abhidhamma Pitaka is recited at the Council, along with additional sections of the Khuddaka Nikaya. The modern Pali Tipitaka is now essentially complete, although some scholars have suggested that at least two parts of the extant Canon — the Parivara in the Vinaya, and the Apadana in the Sutta — may date from a later period. {1, 4} 297 -247 King Asoka sends his son, Ven. Mahinda, on a mission to bring Buddhism to Sri Lanka; King Devanampiya Tissa of Sri Lanka is converted {5}. Asoka also sends envoys to Lower Burma and Central Thailand {1}. 304 -240 Ven. Mahinda establishes the Mahavihara (Great Monastery) of Anuradhapura, Sri Lanka. The Vibhajjavadin community living there becomes known as the Theravadins. Mahinda compiles the first of the Tipitaka commentaries, in the Sinhala language. Mahinda’s sister, Ven. Sanghamitta, arrives in Sri Lanka with a cutting from the original Bo tree, and establishes the bhikkhuni-sangha in Sri Lanka.{1, 5} 444 -100 Famine and schisms in Sri Lanka point out the need for a written record of the Tipitaka to preserve the Buddhist religion. King Vattagamani convenes a Fourth Council, in which 500 reciters and scribes from the Mahavihara write down the Pali Tipitaka for the first time, on palm leaves. {4, 5, 6} 544 1 Common Era (CE) begins; Year 1 AD. 744 200 Buddhist monastic university at Nalanda, India flourishes; remains a world center of Buddhist study for over 1,000 years. {1} ca. 1000 5th c. Ven. Buddhaghosa collates the various Sinhala commentaries on the Canon — drawing primarily on the Maha Atthakatha (Great Commentary) preserved at the Mahavihara — and translates them into Pali. This makes Sinhala Buddhist scholarship available for the first time to the entire Theravadan world and marks the beginning of what will become, in the centuries to follow, a vast body of post-canonical Pali literature. Buddhaghosa also composes his encyclopedic, though controversial, meditation manual Visuddhimagga (The Path of Purification). Vens. Buddhadatta and Dhammapala write additional commentaries and sub-commentaries. {7} ca. 1100 600’s Buddhism in India begins a long, slow decline from which it would never fully recover. {1} ca. 1100? 1400? 6th c.? 9th c.? Dhammapala composes commentaries on parts of the Canon missed by Buddhaghosa (such as the Udana, Itivuttaka, Theragatha, and Therigatha), along with extensive sub-commentaries on Buddhaghosa’s work. {7} 1594 1050 The bhikkhu and bhikkhuni communities at Anuradhapura die out following invasions from South India.{1, 5} 1614 1070 Bhikkhus from Pagan arrive in Polonnaruwa, Sri Lanka to reinstate the obliterated Theravada ordination line on the island. {5} 1697 1153 Buddhist Council (the 5th by Sri Lankan reckoning; the 7th by Thai reckoning) in Sri Lanka. {12} 1708 1164 Polonnaruwa destroyed by foreign invasion. With the guidance of two monks from a forest branch of the Mahavihara sect — Vens. Mahakassapa and Sariputta — King Parakramabahu reunites all bhikkhus in Sri Lanka into the Mahavihara sect. {1, 8} 1780 1236 Bhikkhus from Kañcipuram, India arrive in Sri Lanka to revive the Theravada ordination line. {1} 1823 1279 Last inscriptional evidence of a Theravada Bhikkhuni nunnery (in Burma). {8} 1831 1287 Pagan looted by Mongol invaders; its decline begins. {1} ca. 1900 13th c. A forest-based Sri Lankan ordination line arrives in Burma and Thailand. Theravada spreads to Laos. Thai Theravada monasteries first appear in Cambodia shortly before the Thais win their independence from the Khmers. {1} ca. 2000 1400’s Another forest lineage is imported from Sri Lanka to Ayudhaya, the Thai capital. A new ordination line is also imported into Burma. {1} 2297 1753 King Kirti Sri Rajasinha obtains bhikkhus from the Thai court to reinstate the bhikkhu ordination line, which had died out in Sri Lanka. This is the origin of the Siyam Nikaya. {8} 2312 1768 Burmese destroy Ayudhaya (Thai capital). 2321 1777 King Rama I, founder of the current dynasty in Thailand, obtains copies of the Tipitaka from Sri Lanka and sponsors a Council to standardize the Thai version of the Tipitaka, copies of which are then donated to temples throughout the country. {1} 2347 1803 Sri Lankans ordained in the Burmese city of Amarapura found the Amarapura Nikaya in Sri Lanka to supplement the Siyam Nikaya, which admitted only brahmans from the Up Country highlands around Kandy. {9} 2372 1828 Thailand’s Prince Mongkut (later King Rama IV) founds the Dhammayut movement, which would later become the Dhammayut Sect. {1} ca. 2400 1800’s Sri Lankan Sangha deteriorates under pressure from two centuries of European colonial rule (Portuguese, Dutch, British). {5} 2406 1862 Forest monks headed by Ven. Paññananda go to Burma for reordination, returning to Sri Lanka the following year to found the Ramañña Nikaya. {9} First translation of the Dhammapada into a Western language (German). {2} 2412 1868 Buddhist Council (the 5th by Burmese reckoning) is held at Mandalay, Burma; Pali Canon is inscribed on 729 marble slabs. {2} 2417 1873 Ven. Mohottivatte Gunananda defeats Christian missionaries in a public debate, sparking a nationwide revival of Sri Lankan pride in its Buddhist traditions. {8} 2423 1879 Sir Edwin Arnold publishes his epic poem Light of Asia, which becomes a best-seller in England and the USA, stimulating popular Western interest in Buddhism. 2424 1880 Helena Blavatsky and Henry Steel Olcott, founders of the Theosophical Society, arrive in Sri Lanka from the USA, embrace Buddhism, and begin a campaign to restore Buddhism on the island by encouraging the establishment of Buddhist schools. {1} 2425 1881 Pali Text Society is founded in England by T.W. Rhys Davids; most of the Tipitaka is published in roman script and, over the next 100 years, in English translation. 2435 1891 Maha Bodhi Society founded in India by the Sri Lankan lay follower Anagarika Dharmapala, in an effort to reintroduce Buddhism to India. {1} 2443 1899 First Western Theravada monk (Gordon Douglas) ordains, in Burma. {2} ca. 2444 ca. 1900 Ven. Ajaan Mun and Ven. Ajaan Sao revive the forest meditation tradition in Thailand. {1} 2445 1902 King Rama V of Thailand institutes a Sangha Act that formally marks the beginnings of the Mahanikaya and Dhammayut sects. Sangha government, which up to that time had been in the hands of a lay official appointed by the king, is handed over to the bhikkhus themselves. 2493 1949 Mahasi Sayadaw becomes head teacher at a government-sponsored meditation center in Rangoon, Burma. {10} 2498 1954 Burmese government sponsors a Buddhist Council (the 6th by Burmese and Sri Lankan reckoning) in Rangoon. 2500 1956 Buddha Jayanti Year, commemorating 2,500 years of Buddhism. 2502 1958 Ven. Nyanaponika Thera establishes the Buddhist Publication Society in Sri Lanka to publish English-language books on Theravada Buddhism. Sarvodaya Shramadana Movement is founded in Sri Lanka to bring Buddhist ideals to bear in solving pressing social problems. Two Germans ordain at the Royal Thai Embassy in London, becoming the first to take full Theravada ordination in the West. {1, 2} ca. 2504 1960’s [3] Washington (D.C.) Buddhist Vihara founded — first Theravada monastic community in the USA. {11; and Bhavana Society Brochure} ca. 2514 1970’s Refugees from war in Vietnam, Cambodia, and Laos settle in USA and Europe, establishing many tight-knit Buddhist communities in the West. Ven. Taungpulu Sayadaw and Dr. Rina Sircar, from Burma, establish the Taungpulu Kaba-Aye Monastery in Northern California, USA. Ven. Ajaan Chah establishes Wat Pah Nanachat, a forest monastery in Thailand for training Western monks. Insight Meditation Society, a lay meditation center, is founded in Massachusetts, USA. Ven. Ajaan Chah travels to England to establish a small community of monks at the Hamsptead Vihara, which later moves to Sussex, England, to become Wat Pah Cittaviveka (Chithurst Forest Monastery). ca. 2524 1980’s Lay meditation centers grow in popularity in USA and Europe. First Theravada forest monastery in the USA (Bhavana Society) is established in West Virginia. Amaravati Buddhist Monastery established in England by Ven. Ajaan Sumedho (student of Ven. Ajaan Chah). ca. 2534 1990’s – present Continued western expansion of the Theravada Sangha: monasteries from the Thai forest traditions established in California, USA (Metta Forest Monastery, founded by Ven. Ajaan Suwat; Abhayagiri Monastery, founded by Ven. Ajaans Amaro and Pasanno). Buddhism meets cyberspace: online Buddhist information networks emerge; several editions of the Pali Tipitaka become available online. Notes 1. BE = Buddhist Era. Year 1 of the Buddhist Era calendar is the year of the Buddha’s Parinibbana (death and final release), which occurred in the Buddha’s eightieth year (480 BCE according to the “historical” timeline; 544 BCE by tradition).\nThe actual date of the Buddha’s birth is unknown. According to Buddhist tradition, the Buddha’s birth took place in 624 BCE, although some recent estimates place the Buddha’s birth much later — perhaps as late as 448 BCE {1}. 560 BCE is one commonly accepted date for the Buddha’s birth, and the “historical” date for that event that I adopt here.\nEvents in the timeline prior to -250 CE are shown with two CE dates: the date based on the “traditional” nativity of 624 BCE, followed by the date based on the “historical” date of 560 BCE. After -250 CE the “historical” date is dropped, since these dates are more appropriate only in discussions of earlier events.\nTo calculate the CE date corresponding to an event in the Buddhist traditional calendar, subtract 544 years from the BE date. The BE dates of well-documented historical events (particularly those in the twentieth century) may be off by one year, since the CE and BE calendars start their years on different months (January and May, respectively).\nCE = Common Era. Year 1 of the Common Era corresponds with the year 1 AD (Anno Domini) in the Christian calendar. -1 CE (or 1 BCE — “Before the Common Era”) corresponds with the year 1 BC (“Before Christ”). By convention there is no year zero; the day after 31 December 1 BCE is 1 January 1 CE. 3. Events of the last few decades are still too recent to claim any historical significance. Sources {1} The Buddhist Religion: A Historical Introduction (fourth edition) by R.H. Robinson \u0026 W.L. Johnson (Belmont, California: Wadsworth, 1996) {2} The Buddha’s Way by H. Saddhatissa (London: Allen \u0026 Unwin, 1971) {3} Pali Literature and Language by Wilhelm Geiger (New Delhi: Oriental Books, 1978) {4} Beginnings: the Pali Suttas by Samanera Bodhesako (Kandy: Buddhist Publication Society, 1984) {5} Buddhism in Sri Lanka by H.R. Perera (Kandy: Buddhist Publication Society, 1966) {6} The Path of Purification (Visuddhimagga) (Introduction) by Ven. Bhikkhu Ñanamoli (Kandy: Buddhist Publication Society, 1975) {7} Indian Buddhism (second edition) by A.K. Warder (Delhi: Motilal Banarsidass, 1980) {8} Theravada Buddhism: A Social History from Ancient Benares to Modern Colombo by Richard Gombrich (London and New York: Routledge and Kegan Paul, 1988) {9} The Forest Monks of Sri Lanka: An Anthropological and Historical Study by Michael Carrithers (Delhi: Oxford University Press, 1983) {10} The Progress of Insight by Mahasi Sayadaw (Kandy: Buddhist Publication Society, 1994) {11} World Buddhist Directory by The Buddhist Information Centre (Colombo, Sri Lanka: Buddhist Information Centre, 1984) {12} Buddhism in Thailand: Its Past and Its Present by Karuna Kusalasaya (Kandy, Sri Lanka: Buddhist Publication Society, 2005), note 3.\noriginal article publish in : “Theravada Buddhism: A Chronology”. Access to Insight (BCBS Edition), 30 November 2013,"},"title":"A Chronology"},"/en/intro/theravada/":{"data":{"":"","a-brief-summary-of-the-buddhas-teachings#A Brief Summary of the Buddha\u0026rsquo;s Teachings":"","many-buddhisms-one-dhamma-vinaya#Many Buddhisms, One \u003cem\u003eDhamma-vinaya\u003c/em\u003e":"","notes#Notes":"What is Theravada Buddhism?\n© 2005\nSee also Theravada Buddhism: A Chronology\nTheravada (pronounced — more or less — “terra-VAH-dah”), the “Doctrine of the Elders,” is the school of Buddhism that draws its scriptural inspiration from the Tipitaka, or Pali canon, which scholars generally agree contains the earliest surviving record of the Buddha’s teachings.111 For many centuries, Theravada has been the predominant religion of continental Southeast Asia (Thailand, Myanmar/Burma, Cambodia, and Laos) and Sri Lanka. Today Theravada Buddhists number well over 100 million worldwide.222 In recent decades Theravada has begun to take root in the West.\nMany Buddhisms, One Dhamma-vinaya The Buddha — the “Awakened One” — called the religion he founded Dhamma-vinaya — “the doctrine and discipline.” To provide a social structure supportive of the practice of Dhamma-vinaya (or Dhamma for short Sanskrit:DharmaSanskrit: _DharmaSanskrit:D​harma),_ and to preserve these teachings for posterity, the Buddha established the order of bhikkhus (monks) and bhikkhunis (nuns) — the Sangha — which continues to this day to pass his teachings on to subsequent generations of laypeople and monastics, alike.\nAs the Dhamma continued its spread across India after the Buddha’s passing, differing interpretations of the original teachings arose, which led to schisms within the Sangha and the emergence of as many as eighteen distinct sects of Buddhism.333 One of these schools eventually gave rise to a reform movement that called itself Mahayana (the “Greater Vehicle”)444 and that referred to the other schools disparagingly as Hinayana (the “Lesser Vehicle”). What we call Theravada today is the sole survivor of those early non-Mahayana schools.555 To avoid the pejorative tone implied by the terms Hinayana and Mahayana, it is common today to use more neutral language to distinguish between these two main branches of Buddhism. Because Theravada historically dominated southern Asia, it is sometimes called “Southern” Buddhism, while Mahayana, which migrated northwards from India into China, Tibet, Japan, and Korea, is known as “Northern” Buddhism.666\nPali: The Language of Theravada Buddhism The language of the Theravada canonical texts is Pali (lit., “text”), which is based on a dialect of Middle Indo-Aryan that was probably spoken in central India during the Buddha’s time.777 Ven. Ananda, the Buddha’s cousin and close personal attendant, committed the Buddha’s sermons (suttas) to memory and thus became a living repository of these teachings.888 Shortly after the Buddha’s death (ca. 480 BCE), five hundred of the most senior monks — including Ananda — convened to recite and verify all the sermons they had heard during the Buddha’s forty-five year teaching career.999 Most of these sermons therefore begin with the disclaimer, “Evam me sutam” — “Thus have I heard.”\nAfter the Buddha’s death the teachings continued to be passed down orally within the monastic community, in keeping with an Indian oral tradition that long predated the Buddha.101010 By 250 BCE the Sangha had systematically arranged and compiled these teachings into three divisions: the Vinaya Pitaka (the “basket of discipline” — the texts concerning the rules and customs of the Sangha), the Sutta Pitaka (the “basket of discourses” — the sermons and utterances by the Buddha and his close disciples), and the Abhidhamma Pitaka (the “basket of special/higher doctrine” — a detailed psycho-philosophical analysis of the Dhamma). Together these three are known as the Tipitaka, the “three baskets.” In the third century BCE Sri Lankan monks began compiling a series of exhaustive commentaries to the Tipitaka; these were subsequently collated and translated into Pali beginning in the fifth century CE. The Tipitaka plus the post-canonical texts (commentaries, chronicles, etc.) together constitute the complete body of classical Theravada literature.\nPali was originally a spoken language with no alphabet of its own. It wasn’t until about 100 BCE that the Tipitaka was first fixed in writing, by Sri Lankan scribe-monks,111111 who wrote the Pali phonetically in a form of early Brahmi script.121212 Since then the Tipitaka has been transliterated into many different scripts (Devanagari, Thai, Burmese, Roman, Cyrillic, to name a few). Although English translations of the most popular Tipitaka texts abound, many students of Theravada find that learning the Pali language — even just a little bit here and there — greatly deepens their understanding and appreciation of the Buddha’s teachings.\nNo one can prove that the Tipitaka contains any of the words actually uttered by the historical Buddha. Practicing Buddhists have never found this problematic. Unlike the scriptures of many of the world’s great religions, the Tipitaka is not regarded as gospel, as an unassailable statement of divine truth, revealed by a prophet, to be accepted purely on faith. Instead, its teachings are meant to be assessed firsthand, to be put into practice in one’s life so that one can find out for oneself if they do, in fact, yield the promised results. It is the truth towards which the words in the Tipitaka point that ultimately matters, not the words themselves. Although scholars will continue to debate the authorship of passages from the Tipitaka for years to come (and thus miss the point of these teachings entirely), the Tipitaka will quietly continue to serve — as it has for centuries — as an indispensable guide for millions of followers in their quest for Awakening.\nA Brief Summary of the Buddha’s Teachings The Four Noble Truths Shortly after his Awakening, the Buddha delivered his first sermon, in which he laid out the essential framework upon which all his later teachings were based. This framework consists of the Four Noble Truths, four fundamental principles of nature (Dhamma) that emerged from the Buddha’s radically honest and penetrating assessment of the human condition. He taught these truths not as metaphysical theories or as articles of faith, but as categories by which we should frame our direct experience in a way that conduces to Awakening:\nDukkha: suffering, unsatisfactoriness, discontent, stress; The cause of dukkha: the cause of this dissatisfaction is craving (tanha) for sensuality, for states of becoming, and states of no becoming; The cessation of dukkha: the relinquishment of that craving; The path of practice leading to the cessation of dukkha: the Noble Eightfold Path of right view, right resolve, right speech, right action, right livelihood, right effort, right mindfulness, and right concentration. Because of our ignorance (avijja) of these Noble Truths, because of our inexperience in framing the world in their terms, we remain bound to samsara, the wearisome cycle of birth, aging, illness, death, and rebirth. Craving propels this process onward, from one moment to the next and over the course of countless lifetimes, in accordance with kamma (Skt. karma), the universal law of cause and effect. According to this immutable law, every action that one performs in the present moment — whether by body, speech, or mind itself — eventually bears fruit according to its skillfulness: act in unskillful and harmful ways and unhappiness is bound to follow; act skillfully and happiness will ultimately ensue.131313 As long as one remains ignorant of this principle, one is doomed to an aimless existence: happy one moment, in despair the next; enjoying one lifetime in heaven, the next in hell.\nThe Buddha discovered that gaining release from samsara requires assigning to each of the Noble Truths a specific task: the first Noble Truth is to be comprehended; the second, abandoned; the third, realized; the fourth, developed. The full realization of the third Noble Truth paves the way for Awakening: the end of ignorance, craving, suffering, and kamma itself; the direct penetration to the transcendent freedom and supreme happiness that stands as the final goal of all the Buddha’s teachings; the Unconditioned, the Deathless, Unbinding — Nibbana (Skt. Nirvana).\nThe Eightfold Path and the Practice of Dhamma Because the roots of ignorance are so intimately entwined with the fabric of the psyche, the unawakened mind is capable of deceiving itself with breathtaking ingenuity. The solution therefore requires more than simply being kind, loving, and mindful in the present moment. The practitioner must equip him- or herself with the expertise to use a range of tools to outwit, outlast, and eventually uproot the mind’s unskillful tendencies. For example, the practice of generosity (dana) erodes the heart’s habitual tendencies towards craving and teaches valuable lessons about the motivations behind, and the results of, skillful action. The practice of virtue (sila) guards one against straying wildly off-course and into harm’s way. The cultivation of goodwill (metta) helps to undermine anger’s seductive grasp. The ten recollections offer ways to alleviate doubt, bear physical pain with composure, maintain a healthy sense of self-respect, overcome laziness and complacency, and restrain oneself from unbridled lust. And there are many more skills to learn.\nThe good qualities that emerge and mature from these practices not only smooth the way for the journey to Nibbana; over time they have the effect of transforming the practitioner into a more generous, loving, compassionate, peaceful, and clear-headed member of society. The individual’s sincere pursuit of Awakening is thus a priceless and timely gift to a world in desperate need of help.\nDiscernment (pañña) The Eightfold Path is best understood as a collection of personal qualities to be developed, rather than as a sequence of steps along a linear path. The development of right view and right resolve (the factors classically identified with wisdom and discernment) facilitates the development of right speech, action, and livelihood (the factors identified with virtue). As virtue develops so do the factors identified with concentration (right effort, mindfulness, and concentration). Likewise, as concentration matures, discernment evolves to a still deeper level. And so the process unfolds: development of one factor fosters development of the next, lifting the practitioner in an upward spiral of spiritual maturity that eventually culminates in Awakening.\nThe long journey to Awakening begins in earnest with the first tentative stirrings of right view — the discernment by which one recognizes the validity of the four Noble Truths and the principle of kamma. One begins to see that one’s future well-being is neither predestined by fate, nor left to the whims of a divine being or random chance. The responsibility for one’s happiness rests squarely on one’s own shoulders. Seeing this, one’s spiritual aims become suddenly clear: to relinquish the habitual unskillful tendencies of the mind in favor of skillful ones. As this right resolve grows stronger, so does the heartfelt desire to live a morally upright life, to choose one’s actions with care.\nAt this point many followers make the inward commitment to take the Buddha’s teachings to heart, to become “Buddhist” through the act of taking refuge in the Triple Gem: the Buddha (both the historical Buddha and one’s own innate potential for Awakening), the Dhamma (both the Buddha’s teachings and the ultimate Truth towards which they point), and the Sangha (both the unbroken monastic lineage that has preserved the teachings since the Buddha’s day, and all those who have achieved at least some degree of Awakening). With one’s feet thus planted on solid ground, and with the help of an admirable friend or teacher (kalyanamitta) to guide the way, one is now well-equipped to proceed down the Path, following in the footsteps left by the Buddha himself.\nVirtue (sila) Right view and right resolve continue to mature through the development of the path factors associated with sila, or virtue — namely, right speech, right action, and right livelihood. These are condensed into a very practical form in the five precepts, the basic code of ethical conduct to which every practicing Buddhist subscribes: refraining from killing, stealing, sexual misconduct, lying, and using intoxicants. Even the monks’ complex code of 227 rules and the nuns’ 311 ultimately have these five basic precepts at their core.\nConcentration (samadhi) Having gained a foothold in the purification of one’s outward behavior through the practice of sila, the essential groundwork has been laid for delving into the most subtle and transformative aspect of the path: meditation and the development of samadhi, or concentration. This is spelled out in detail in the final three path factors: right effort, by which one learns how to favor skillful qualities of mind over unskillful ones; right mindfulness, by which one learns to keep one’s attention continually grounded in the present moment of experience; and right concentration, by which one learns to immerse the mind so thoroughly and unwaveringly in its meditation object that it enters jhana, a series of progressively deeper states of mental and physical tranquillity.\nRight mindfulness and right concentration are developed in tandem through satipatthana (“frames of reference” or “foundations of mindfulness”), a systematic approach to meditation practice that embraces a wide range of skills and techniques. Of these practices, mindfulness of the body (especially mindfulness of breathing) is particularly effective at bringing into balance the twin qualities of tranquillity (samatha) and insight (vipassana), or clear-seeing. Through persistent practice, the meditator becomes more adept at bringing the combined powers of samatha-vipassana to bear in an exploration of the fundamental nature of mind and body.141414 As the meditator masters the ability to frame his immediate experience in terms of anicca (inconstancy), dukkha, and anatta (not-self), even the subtlest manifestations of these three characteristics of experience are brought into exquisitely sharp focus. At the same time, the root cause of dukkha — craving — is relentlessly exposed to the light of awareness. Eventually craving is left with no place to hide, the entire karmic process that fabricates dukkha unravels, the eightfold path reaches its noble climax, and the meditator gains, at long last, his or her first unmistakable glimpse of the Unconditioned — Nibbana.\nAwakening This first enlightenment experience, known as stream-entry (sotapatti), is the first of four progressive stages of Awakening, each of which entails the irreversible shedding or weakening of several fetters (samyojana), the manifestations of ignorance that bind a person to the cycle of birth and death. Stream-entry marks an unprecedented and radical turning point both in the practitioner’s current life and in the entirety of his or her long journey in samsara. For it is at this point that any lingering doubts about the truth of the Buddha’s teachings disappear; it is at this point that any belief in the purifying efficacy of rites and rituals evaporates; and it is at this point that the long-cherished notion of an abiding personal “self” falls away. The stream-enterer is said to be assured of no more than seven future rebirths (all of them favorable) before eventually attaining full Awakening.\nBut full Awakening is still a long way off. As the practitioner presses on with renewed diligence, he or she passes through two more significant landmarks: once-returning (sakadagati), which is accompanied by the weakening of the fetters of sensual desire and ill-will, and non-returning (agati), in which these two fetters are uprooted altogether. The final stage of Awakening — arahatta — occurs when even the most refined and subtle levels of craving and conceit are irrevocably extinguished. At this point the practitioner — now an arahant, or “worthy one” — arrives at the end-point of the Buddha’s teaching. With ignorance, suffering, stress, and rebirth having all come to their end, the arahant at last can utter the victory cry first proclaimed by the Buddha upon his Awakening:\n“Birth is ended, the holy life fulfilled, the task done! There is nothing further for the sake of this world.”\n— MN 36\nThe arahant lives out the remainder of his or her life inwardly enjoying the bliss of Nibbana, secure at last from the possibility of any future rebirth. When the arahant’s aeons-long trail of past kamma eventually unwinds to its end, the arahant dies and he or she enters into parinibbana — total Unbinding. Although language utterly fails at describing this extraordinary event, the Buddha likened it to what happens when a fire finally burns up all its fuel.\n“The serious pursuit of happiness” Buddhism is sometimes naïvely criticized as a “negative” or “pessimistic” religion and philosophy. Surely life is not all misery and disappointment: it offers many kinds of happiness and sublime joy. Why then this dreary Buddhist obsession with unsatisfactoriness and suffering?\nThe Buddha based his teachings on a frank assessment of our plight as humans: there is unsatisfactoriness and suffering in the world. No one can argue this fact. Dukkha lurks behind even the highest forms of worldly pleasure and joy, for, sooner or later, as surely as night follows day, that happiness must come to an end. Were the Buddha’s teachings to stop there, we might indeed regard them as pessimistic and life as utterly hopeless. But, like a doctor who prescribes a remedy for an illness, the Buddha offers both a hope (the third Noble Truth) and a cure (the fourth). The Buddha’s teachings thus give cause for unparalleled optimism and joy. The teachings offer as their reward the noblest, truest kind of happiness, and give profound value and meaning to an otherwise grim existence. One modern teacher summed it up well: “Buddhism is the serious pursuit of happiness.”\nTheravada Comes West Until the late 19th century, the teachings of Theravada were little known outside of southern Asia, where they had flourished for some two and one-half millennia. In the past century, however, the West has begun to take notice of Theravada’s unique spiritual legacy in its teachings of Awakening. In recent decades this interest has swelled, with the monastic Sangha from various schools within Theravada establishing dozens of monasteries across Europe and North America. Increasing numbers of lay meditation centers, founded and operated independently of the monastic Sangha, strain to meet the demands of lay men and women — Buddhist and otherwise — seeking to learn selected aspects of the Buddha’s teachings.\nThe turn of the 21st century presents both opportunities and dangers for Theravada in the West: Will the Buddha’s teachings be patiently studied and put into practice, and allowed to establish deep roots in Western soil, for the benefit of many generations to come? Will the current popular Western climate of “openness” and cross-fertilization between spiritual traditions lead to the emergence of a strong new form of Buddhist practice unique to the modern era, or will it simply lead to confusion and the dilution of these priceless teachings? These are open questions; only time will tell.\nSpiritual teachings of every description inundate the media and the marketplace today. Many of today’s popular spiritual teachings borrow liberally from the Buddha, though only rarely do they place the Buddha’s words in their true context. Earnest seekers of truth are therefore often faced with the unsavory task of wading through fragmentary teachings of dubious accuracy. How are we to make sense of it all?\nFortunately the Buddha left us with some simple guidelines to help us navigate through this bewildering flood. Whenever you find yourself questioning the authenticity of a particular teaching, heed well the Buddha’s advice to his stepmother:\nTheteachingsthatpromoteThe teachings that promoteTheteachingsthatpromote the qualities of which you may know, ‘These qualities lead to passion, not to dispassion; to being fettered, not to being unfettered; to accumulating, not to shedding; to self-aggrandizement, not to modesty; to discontent, not to contentment; to entanglement, not to seclusion; to laziness, not to aroused persistence; to being burdensome, not to being unburdensome’: You may categorically hold, ‘This is not the Dhamma, this is not the Vinaya, this is not the Teacher’s instruction.’\nAsfortheteachingsthatpromoteAs for the teachings that promoteAsfortheteachingsthatpromote the qualities of which you may know, ‘These qualities lead to dispassion, not to passion; to being unfettered, not to being fettered; to shedding, not to accumulating; to modesty, not to self-aggrandizement; to contentment, not to discontent; to seclusion, not to entanglement; to aroused persistence, not to laziness; to being unburdensome, not to being burdensome’: You may categorically hold, ‘This is the Dhamma, this is the Vinaya, this is the Teacher’s instruction.’\n— AN 8.53\nThe truest test of these teachings, of course, is whether they yield the promised results in the crucible of your own heart. The Buddha presents the challenge; the rest is up to you.\nNotes1.\nBuddhist Religions: A Historical Introduction (fifth edition) by R.H. Robinson, W.L. Johnson, and Thanissaro Bhikkhu (Belmont, California: Wadsworth, 2005), p. 46.\n2.\nThis estimate is based on data appearing in CIA World Factbook 2004. South Asia’s largest Theravada Buddhist populations are found in Thailand (61 million Theravadans), Myanmar (38 million), Sri Lanka (13 million), and Cambodia (12 million).\n3.\nBuddhist Religions, p. 46.\n4.\nMahayana today includes Zen, Ch’an, Nichiren, Tendai, and Pure Land Buddhism.\n5.\nGuide Through The Abhidhamma Pitaka by Nyanatiloka Mahathera (Kandy: Buddhist Publication Society, 1971), pp. 60ff.\n6.\nA third major branch of Buddhism emerged much later (ca. 8th century CE) in India:Vajrayana, the “Diamond Vehicle.” Vajrayana’s elaborate system of esoteric initiations, tantric rituals, and mantra recitations eventually spread north into central and east Asia, leaving a particularly strong imprint on Tibetan Buddhism. See Buddhist Religions, pp. 124ff. and chapter 11.\n7.\nModern scholarship suggests that Pali was probably never spoken by the Buddha himself. In the centuries after the Buddha’s death, as Buddhism spread across India into regions of different dialects, Buddhist monks increasingly depended on a common tongue for their Dhamma discussions and recitations of memorized texts. It was out of this necessity that the language we now know as Pali emerged. See Bhikkhu Bodhi’s Introduction in Numerical Discourses of the Buddha (Walnut Creek, CA: Altamira Press, 1999), pp. 1ff, and n. 1 (p. 275) and “The Pali Language and Literature” by the Pali Text Society (http://www.palitext.com/subpages/lan_lite.htm; 15 April 2002).\n8.\nGreat Disciples of the Buddha by Nyanaponika Thera and Hellmuth Hecker (Somerville: Wisdom Publications, 1997), pp. 140, 150.\n9.\nBuddhist Religions, p. 48.\n10.\nThe Hindu Vedas, for example, predate the Buddha by at least a millennium (Buddhist Religions, p. 2).\n11.\nBuddhist Religions, p. 77.\n12.\nAnandajoti Bhikkhu, personal communication.\n13.\nSee Dhp 1-2.\n14.\nThis description of the unified role of samatha and vipassana is based upon the Buddha’s meditation teachings as presented in the suttas (see “One Tool Among Many” by Thanissaro Bhikkhu). The Abhidhamma and the Commentaries, by contrast, state that samatha and vipassana are two distinct meditation paths (see, for example, The Jhanas in Theravada Buddhist Meditation by H. Gunaratana, ch. 5).\nIt is impossible to reconcile these divergent views from studying the texts alone; any doubts about the roles of samatha and vipassana are best resolved through the actual practice of meditation.\nNote\nSource: “What is Theravada Buddhism?” – Access to Insight. Licensed under CC BY-NC 4.0 |","pali-the-language-of-theravada-buddhism#Pali: The Language of Theravada Buddhism":"","the-serious-pursuit-of-happiness#\u0026ldquo;The serious pursuit of happiness\u0026rdquo;":"","theravada-comes-west#Theravada Comes West":""},"title":"What is Theravada Buddhism?"},"/en/tripitaka/":{"data":{"":" RSS Feed "},"title":"Alekha"},"/en/tripitaka/abhidhamma/":{"data":{"":" RSS Feed "},"title":"Alekha"},"/en/tripitaka/abhidhamma/abh/":{"data":{"hugo-build#hugo build":"hugo build"},"title":"abh"},"/en/tripitaka/sutta/":{"data":{"":" RSS Feed "},"title":"Alekha"},"/en/tripitaka/vinaya/":{"data":{"":" RSS Feed "},"title":"Alekha"}}