# trame-router **Repository Path**: mirrors_Kitware/trame-router ## Basic Information - **Project Name**: trame-router - **Description**: trame-router brings Vue Router capabilities into trame widgets and ui - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-07 - **Last Updated**: 2026-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README .. |pypi_download| image:: https://img.shields.io/pypi/dm/trame-router trame-router enable multi-page navigation |pypi_download| =========================================================================== .. image:: https://github.com/Kitware/trame-router/actions/workflows/test_and_release.yml/badge.svg :target: https://github.com/Kitware/trame-router/actions/workflows/test_and_release.yml :alt: Test and Release Trame-router extend trame **widgets** and **ui** with **Vue Router** components and helper to streamline its usage with trame. Vue Router is the official router for Vue.js on which trame is based. Installing ----------------------------------------------------------- trame-router can be installed with `pip `_: .. code-block:: bash pip install --upgrade trame-router Usage ----------------------------------------------------------- The `Trame Tutorial `_ is the place to go to learn how to use the library and start building your own application. The `API Reference `_ documentation provides API-level documentation. `The original Vue Router documentation `_ provide a great introduction resource. The router elements can be used as follow in trame: .. code-block:: python # [...] from trame.ui.router import RouterViewLayout from trame.widgets import router with RouterViewLayout(server, "/"): with vuetify.VCard(): vuetify.VCardTitle("This is home") with RouterViewLayout(server, "/foo"): with vuetify.VCard(): vuetify.VCardTitle("This is foo") with RouterViewLayout(server, "/bar/:id"): with vuetify.VList(): vuetify.VListItem("Bar {{ $route.params.id }} item 1") vuetify.VListItem("Bar {{ $route.params.id }} item 2") vuetify.VListItem("Bar {{ $route.params.id }} item 3") with SinglePageWithDrawerLayout(server) as layout: with layout.toolbar: vuetify.VBtn("Home", to="/") vuetify.VBtn("Foo", to="/foo") vuetify.VBtn("Bar 1", to="/bar/1") vuetify.VBtn("Bar 2", to="/bar/2") vuetify.VBtn("Bar 3", to="/bar/3") with layout.content: router.RouterView() Environment variables ----------------------------------------------------------- With vue3 and docker, trame-router can leverage the html5 history mode but by default we use the "hash" mode. To enable it, you need to define a **TRAME_ROUTER_HISTORY_MODE** environment variable that should either be set to "html5" or "hash". This can only work if using our docker bundle or with a proper web server configuration when delivering the static HTML/JS/CSS content yourself. License ----------------------------------------------------------- trame-router is made available under the MIT License. For more details, see `LICENSE `_ This license has been chosen to match the one use by `Vue Router `_ which is used under the cover. Community ----------------------------------------------------------- `Trame `_ | `Discussions `_ | `Issues `_ | `Contact Us `_ .. image:: https://zenodo.org/badge/410108340.svg :target: https://zenodo.org/badge/latestdoi/410108340 Enjoying trame? ----------------------------------------------------------- Share your experience `with a testimonial `_ or `with a brand approval `_. JavaScript dependency ----------------------------------------------------------- This Python package bundle the following vue-router libraries. For ``client_type="vue2"``, it exposes ``vue-router@3.5.1`` and for ``client_type="vue3"``, it exposes ``vue-router@4.2.4``. If you would like us to upgrade any of those dependencies, `please reach out `_.