diff --git a/assets/css/gambit.css b/assets/css/gambit.css index 19f8c4b..a98942d 100644 --- a/assets/css/gambit.css +++ b/assets/css/gambit.css @@ -1,19 +1,744 @@ .hero-title { - font-family: "Times New Roman", Times, serif; - font-size: 4em; color: #cc0000; + font-weight: bold; + font-size: 7em; + font-family: "Computer Modern", serif; + max-width: 100%; + text-align: center; + padding-top: 50px; } .hero-subtitle { + color: #442020; + font-size: 3em; + font-family: "Computer Modern", serif; + max-width: 100%; + text-align: center; + margin: 0 auto; +} + +/* GitHub buttons container */ +.github-buttons { + margin: 20px 0; + text-align: center; +} + +/* Timeline section */ +.timeline-section { + margin: 40px 0; + text-align: center; +} + +.timeline-container { + display: flex; + justify-content: center; + align-items: center; + max-width: 100%; + margin: 0 auto; +} + +.timeline-image { + max-width: 100%; + height: auto; + border-radius: 8px; +} + +/* Responsive timeline adjustments */ +@media (max-width: 768px) { + .timeline-section { + margin: 20px 0; + padding: 0 10px; + } + + .timeline-image { + max-width: 95%; + } +} + +/* Hero info section */ +.hero-info-section { + margin: 40px 0; + padding: 0 20px; +} + +.info-content { + display: flex; + flex-direction: row; + align-items: center; + max-width: 85%; + margin: 0 auto; + gap: 2rem; + padding-top: 5em; +} + +.info-logo { + flex-shrink: 0; +} + +.info-logo img { + width: 35em; + height: auto; + object-fit: contain; +} + +.info-text { + flex: 1; + min-width: 0; /* Allow text to shrink */ + font-size: 1.35em; +} + +.info-text p { + font-size: 1.1em; + line-height: 1.6; + color: #333; + margin: 0; + text-align: left; +} + +/* Mobile responsive adjustments for info section */ +@media (max-width: 768px) { + .hero-info-section { + margin: 30px 0; + padding: 0 15px; + } + + .info-content { + flex-direction: column; + text-align: center; + max-width: 95%; + gap: 1.5rem; + } + + .info-logo { + max-width: 200px; + margin: 0 auto; + } + + .info-logo img { + max-width: 200px; + } + + .info-text { + width: 100%; + } + + .info-text p { + text-align: center; + font-size: 1em; + } +} + +/* Software icons section */ +.software-icons { + margin: 40px 0; + text-align: center; +} + +.software-icons h3 { + color: #cc0000; + margin-bottom: 20px; + font-family: 'Times New Roman', Times, serif; +} + +.software-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 40px; + max-width: 800px; + margin: 0 auto; + justify-items: center; +} + +.software-item { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + max-width: 450px; + width: 100%; +} + +.software-item a { + text-decoration: none; + color: inherit; +} + +.software-icon { + margin-bottom: 15px; + object-fit: contain; + width: 90px; + height: 90px; +} + +.software-icon-fallback { + width: 90px; + height: 90px; + margin-bottom: 15px; + background-color: #cc0000; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + color: white; + font-weight: bold; + font-size: 1.8em; +} + +.software-name { + font-weight: bold; + color: #cc0000; + margin-bottom: 8px; + font-size: 1.8em; +} + +.software-description { + font-size: 1.35em; + color: #666; +} + +/* Responsive adjustments for software grid */ +@media (max-width: 768px) { + .software-grid { + grid-template-columns: 1fr !important; + gap: 40px; + max-width: 400px; + } + + .software-item { + max-width: 350px; + } + + .software-icon { + width: 75px; + height: 75px; + } + + .software-icon-fallback { + width: 75px; + height: 75px; + font-size: 1.5em; + } + + .software-name { + font-size: 1.5em; + } + + .software-description { + font-size: 1.2em; + } +} + +/* Testimonials section */ +.testimonials-section { + margin: 60px 0; + text-align: center; +} + +.testimonials-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); + gap: 40px; + max-width: 1000px; + margin: 40px auto 0; + padding: 0 20px; +} + +.testimonial-item { + background: #fff; + border-radius: 12px; + padding: 30px; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); + border: 1px solid rgba(204, 0, 0, 0.1); + transition: transform 0.3s ease, box-shadow 0.3s ease; + position: relative; +} + +.testimonial-item:hover { + transform: translateY(-5px); + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); +} + +.testimonial-quote { + margin-bottom: 25px; + position: relative; +} + +.quote-mark { + font-size: 4rem; + color: #cc0000; + font-family: 'Times New Roman', serif; + position: absolute; + top: -20px; + left: -10px; + line-height: 1; + opacity: 0.3; +} + +.quote-text { + font-size: 1.1em; + line-height: 1.6; + color: #333; font-style: italic; + text-align: left; + padding-left: 20px; + position: relative; + z-index: 1; +} + +.testimonial-author { + text-align: left; + padding-left: 20px; + border-top: 2px solid #f0f0f0; + padding-top: 20px; +} + +.author-name { + font-weight: bold; color: #cc0000; + font-size: 1.1em; + margin-bottom: 5px; +} + +.author-role { + color: #666; + font-size: 0.95em; + line-height: 1.4; +} + +/* Responsive adjustments for testimonials */ +@media (max-width: 768px) { + .testimonials-section { + margin: 40px 0; + } + + .testimonials-grid { + grid-template-columns: 1fr; + gap: 30px; + padding: 0 15px; + max-width: 90%; + } + + .testimonial-item { + padding: 25px; + } + + .quote-mark { + font-size: 3rem; + top: -15px; + left: -5px; + } + + .quote-text { + font-size: 1em; + padding-left: 15px; + } + + .testimonial-author { + padding-left: 15px; + } } button.cta-button { background-color: #cc0000; } +/* Navbar size overwrites - double the size of everything */ +nav, +.navbar { + min-height: 7.6rem; /* was 3.8rem */ + transition: transform 0.3s ease-in-out; +} + +.navbar.navbar-hidden { + transform: translateY(-100%); +} + +.navbar-brand { + min-height: 8rem; /* was 4rem */ +} + +.navbar .container { + min-height: 8rem; /* was 4rem */ +} + +.navbar-logo { + height: 56px; /* was 28px */ + padding-right: 2rem; /* was 1rem */ +} + +.navbar-logo-text { + font-size: 2.5rem; /* was 1.25rem */ + font-weight: 700; +} + +.navbar-brand img { + max-height: 72px !important; /* was 36px */ + height: 72px; /* was 36px */ +} + +.navbar-item, +.navbar-link { + padding: 1rem 1.5rem; /* was 0.5rem 0.75rem */ + font-size: 1.2rem; /* added for better scaling */ +} + +/* Specifically target dropdown parent links to never show underlines */ +.navbar-item.has-dropdown .navbar-link:hover, +.navbar-item.has-dropdown:hover .navbar-link { + text-decoration: none !important; +} + +.navbar-burger { + width: 8rem; /* was 4rem */ + height: 8rem; /* was 4rem */ +} + +.navbar-burger span { + height: 4px; /* was 2px */ + left: calc(50% - 16px); /* was calc(50% - 8px) */ + width: 32px; /* was 16px */ +} + +.navbar-burger span:first-child { + top: calc(50% - 12px); /* was calc(50% - 6px) */ +} + +.navbar-burger span:nth-child(2) { + top: calc(50% - 2px); /* was calc(50% - 1px) */ +} + +.navbar-burger span:nth-child(3) { + top: calc(50% + 8px); /* was calc(50% + 4px) */ +} + +.navbar-item.has-dropdown { + padding: 20px 0; /* was 10px 0 */ +} + +.navbar-dropdown { + font-size: 1.75rem; /* was 0.875rem */ + padding-bottom: 1rem; /* was 0.5rem */ + padding-top: 1rem; /* was 0.5rem */ +} + +.navbar-dropdown .navbar-item { + padding-left: 3rem; /* was 1.5rem */ + padding-right: 3rem; /* was 1.5rem */ +} + +.navbar-item.has-dropdown .navbar-link:after { + height: 1em; /* was 0.5em */ + width: 1em; /* was 0.5em */ + border-width: 4px; /* was 2px */ +} + +.navbar-item.has-dropdown .navbar-dropdown { + top: 5.5rem; /* was 6.8rem - moved closer */ + min-width: 440px; /* was 220px */ + margin-top: 2px; /* was 8px - reduced gap */ +} + +.navbar-item.has-dropdown .navbar-dropdown .navbar-item { + padding: 20px 40px; /* was 10px 20px */ +} + +@media screen and (min-width: 1024px) { + .navbar > .container .navbar-brand { + margin-left: -1.5rem; /* was -0.75rem */ + } + + .navbar > .container .navbar-menu { + margin-right: -1.5rem; /* was -0.75rem */ + } + + .navbar-dropdown .navbar-item { + padding: 0.75rem 2rem; /* was 0.375rem 1rem */ + } + + .navbar-dropdown a.navbar-item { + padding-right: 6rem; /* was 3rem */ + } + + /* Remove the default grey diamond arrow */ + .navbar-link::after { + display: none !important; + } +} + +/* Custom dropdown arrow styling - work with arrow from config */ +.navbar-item.has-dropdown .navbar-link { + position: relative; + display: flex; + align-items: center; + gap: 0.5rem; +} + +/* Hide any default arrows */ +.navbar-item.has-dropdown .navbar-link::after { + display: none !important; +} + +/* Style the separated arrow */ +.dropdown-arrow { + display: inline-block; + transition: transform 0.3s ease; + font-size: 0.8em; +} + +/* Rotate the arrow on hover */ +.navbar-item.has-dropdown:hover .dropdown-arrow { + transform: rotate(90deg); +} + +/* Keep dropdown visible when hovering over it */ +.navbar-item.has-dropdown:hover .navbar-dropdown, +.navbar-item.has-dropdown .navbar-dropdown:hover { + display: block !important; +} + +/* Add a small delay and transition for smoother interaction */ +.navbar-dropdown { + transition: opacity 0.2s ease, visibility 0.2s ease; +} + +.navbar-item.has-dropdown:hover .navbar-dropdown { + opacity: 1; + visibility: visible; +} + +/* Ensure dropdown stays visible when moving mouse from link to dropdown */ +.navbar-item.has-dropdown .navbar-dropdown::before { + content: ""; + position: absolute; + top: -2px; /* reduced from -10px to match closer dropdown */ + left: 0; + right: 0; + height: 2px; /* reduced from 10px */ + background: transparent; +} + +/* Disable nav with aria-label="Breadcrumb" */ +nav[aria-label="Breadcrumb"], .nav[aria-label="Breadcrumb"] { + display: none !important; +} + +/* Research page styles */ + +.research-header { + text-align: center; + margin: 2rem 0; + color: #cc0000; + font-size: 2.5em; + font-weight: bold; +} + +.research-description { + font-size: 1.2em; + line-height: 1.6; + color: #666; + margin: 2rem 0; + text-align: center; + max-width: 800px; + margin-left: auto; + margin-right: auto; +} + +.research-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); + gap: 2rem; + margin: 3rem 0; + padding: 0 1rem; + max-width: 1200px; + margin-left: auto; + margin-right: auto; +} + +.research-project { + background: #fff; + border-radius: 10px; + padding: 2rem; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + transition: transform 0.3s ease, box-shadow 0.3s ease; + border: 2px solid transparent; + border-left: 4px solid #cc0000; +} + +.research-project:hover { + transform: translateY(-5px); + box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15); + border-color: #cc0000; +} + +.research-project-link { + text-decoration: none; + color: inherit; + display: block; +} + +.research-project-link:hover { + text-decoration: none; +} + +.research-project-title { + color: #cc0000; + font-size: 1.4em; + margin-bottom: 1rem; + font-weight: bold; + line-height: 1.3; +} + +.research-project-institution { + color: #888; + font-size: 0.95em; + font-style: italic; + margin-bottom: 1rem; + font-weight: 500; +} + +.research-project-description { + color: #333; + font-size: 1.05em; + line-height: 1.5; + margin: 0; +} + +/* Responsive adjustments for research grid */ +@media (max-width: 768px) { + .research-grid { + grid-template-columns: 1fr; + gap: 1.5rem; + margin: 2rem 0; + padding: 0 1rem; + } + + .research-project { + padding: 1.5rem; + } + + .research-project-title { + font-size: 1.2em; + } + + .research-header { + font-size: 2em; + } +} #footer { background-color: #cc0000; +} + +/* Team page styles */ + +.team-header { + text-align: center; + margin: 2rem 0; +} + +.team-description { + font-size: 1.2em; + line-height: 1.6; + color: #666; + margin: 2rem 0; + text-align: center; + max-width: 800px; + margin-left: auto; + margin-right: auto; +} + +.team-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + margin: 3rem 0; + padding: 0 1rem; +} + +.team-member { + background: #fff; + border-radius: 10px; + padding: 2rem; + text-align: center; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + transition: transform 0.3s ease, box-shadow 0.3s ease; + border: 2px solid transparent; +} + +.team-member:hover { + transform: translateY(-5px); + box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15); + border-color: #cc0000; +} + +.team-member-link { + text-decoration: none; + color: inherit; + display: block; +} + +.team-member-link:hover { + text-decoration: none; +} + +.team-member-image { + width: 120px; + height: 120px; + margin: 0 auto 1.5rem; + border-radius: 50%; + overflow: hidden; + border: 4px solid #cc0000; +} + +.team-member-image img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.team-member-name { + color: #cc0000; + font-size: 1.4em; + margin-bottom: 1rem; + font-weight: bold; +} + +.team-member-affiliations { + margin-bottom: 1rem; +} + +.team-member-affiliation { + color: #666; + font-size: 0.95em; + font-style: italic; + margin-bottom: 0.25rem; +} + +.team-member-role { + color: #333; + font-size: 1em; + line-height: 1.4; + margin: 0; +} + +/* Responsive adjustments for team grid */ +@media (max-width: 768px) { + .team-grid { + grid-template-columns: 1fr; + gap: 1.5rem; + margin: 2rem 0; + } + + .team-member { + padding: 1.5rem; + } + + .team-member-image { + width: 100px; + height: 100px; + } + + .team-member-name { + font-size: 1.2em; + } } \ No newline at end of file diff --git a/config.yaml b/config.yaml index 712e6d1..42ae6bf 100644 --- a/config.yaml +++ b/config.yaml @@ -11,33 +11,126 @@ markup: params: navColor: red - description: "The package for computation in game theory." images: - /images/gambit.png fonts: - name: "Lato" weights: [400, 900] navbarlogo: - image: gambit-tree.png - text: "Gambit: The package for computation in game theory" + image: gambit.png link: / hero: - title: Gambit - subtitle: The package for computation in game theory - image: gambit-tree.png + title: Software tools for game theory. + subtitle: Build, analyse, and explore finite extensive and strategic games. + image: gambit.png buttontext: Get started - buttonlink: "/install" + buttonlink: "https://gambitproject.readthedocs.io/en/stable/" + description: + - "Gambit is a set of software tools for doing computation on finite, noncooperative games in extensive or strategy form and a set of file formats for storing and communicating games to external tools." + - "The Gambit Project was founded in the mid-1980s at the California Institute of Technology and to this day is actively developed by a community of contributors, with core development led by The Alan Turing Institute in the UK." + timeline: + image: gambit_timeline.svg + title: "Through the years" + subtitle: "The tools for computational game theory research, from BASIC to the language model era." + software_title: "Open source & free to use" + software: + - name: PyGambit + description: "Python API providing access to Gambit's features." + icon: python.png + link: "https://gambitproject.readthedocs.io/en/stable/pygambit.html" + - name: GUI + description: "Visually construct games and investigate their main strategic features." + icon: gui.png + link: "https://gambitproject.readthedocs.io/en/stable/gui.html" + - name: CLI + description: "Command-line tools suitable for scripting or calling from other programs." + icon: cli.png + link: "https://gambitproject.readthedocs.io/en/stable/tools.html" + - name: LLM tools + description: "🏗️ WIP: Construct and analyse extensive games using large language models." + icon: llm.png + solvers_title: "State of the art methods" + solvers: + - name: Nash Equilibrium Solvers + description: "Enumerate pure and mixed-strategy Nash equilibria, including Lemke-Howson, polytope methods." + icon: example.png + - name: Extensive Form Solvers + description: "Leverage compact sequence-form representations for computing Nash or subgame-perfect equilibria in extensive games" + icon: example.png + - name: Correlated & Refined Equilibrium Solvers + description: "LP-based computation of correlated equilibria and specialized tools for refinements like trembling-hand perfect or sequential equilibria." + icon: example.png + - name: Numerical & Bounded-Rationality Solvers + description: "For quantal-response equilibria, including logit-response fixed-point computations." + icon: example.png + testimonials: + - name: "Professor X" + role: "Professor of Game Theory, University of Cambridge" + quote: "Gambit is the gold standard for computational game theory. It has been a cornerstone of my research for over 20 years." + - name: "Professor Y" + role: "Professor of Computer Science, University of Oxford" + quote: "Gambit provides powerful tools for analyzing complex strategic interactions, making it indispensable for my work in AI and game theory." navbar: - - title: Install - url: /install - - title: Documentation - url: "https://gambitproject.readthedocs.io/en/stable/" - is_external: true - title: Team url: /team/ + - title: Research + url: /research/ - title: Citing url: /cite/ - is_external: false + - title: Info + sublinks: + - title: Documentation + url: "https://gambitproject.readthedocs.io/en/stable/" + - title: GitHub + url: "https://github.com/gambitproject/gambit" + - title: Releases + url: "https://github.com/gambitproject/gambit/releases" + - title: PyGambit on PyPI + url: "https://pypi.org/project/pygambit/" + team: + title: "The Gambit Development Team" + description: "Gambit is developed and maintained by a core team at The Alan Turing Institute, with contributions from the wider community." + members: + - name: "Theodore Turocy" + affiliations: + - "The Alan Turing Institute" + - "University of East Anglia" + role: "Theme Lead: Game theory and collective decision making in foundational AI research" + image: team/ted.png + link: "https://tturocy.github.io/" + - name: "Rahul Savani" + affiliations: + - "The Alan Turing Institute" + - "University of Liverpool" + role: "Theme lead: Automated Analysis of Strategic Interactions" + image: team/rahul.png + link: "https://www.turing.ac.uk/people/external-researchers/rahul-savani" + - name: "Yongzhao Wang" + affiliations: + - "The Alan Turing Institute" + role: "Research Associate" + image: team/yongzhao.png + link: "https://sites.google.com/umich.edu/yongzhao-wang/" + - name: "Daniel Kadnikov" + affiliations: + - "The Alan Turing Institute" + role: "Research Associate" + image: team/daniel.png + link: "https://www.turing.ac.uk/people/daniel-kadnikov" + - name: "Ed Chalstrey" + affiliations: + - "The Alan Turing Institute" + role: "Research Software Engineer" + image: team/ed.png + link: "https://edchalstrey.com/" + research: + title: "Active Research" + description: "A variety of research projects using Gambit are currently underway, exploring new methods for game-theoretic analysis, applications in AI, and the development of novel algorithms." + projects: + - title: "Automated analysis of strategic interactions" + institution: "The Alan Turing Institute" + description: "Creating the tools to support strategic reasoning about interactions among human and automated agents in complex and changing environments." + link: "https://www.turing.ac.uk/research/research-projects/automated-analysis-strategic-interactions" footer: logo: gambit.png socialmediatitle: @@ -46,20 +139,4 @@ params: icon: discourse - link: https://github.com/gambitproject/gambit icon: github - quicklinks: - column1: - title: "" - links: - - text: Install - link: /install - column2: - title: "" - links: - - text: Documentation - link: "https://gambitproject.readthedocs.io" - column3: - title: "" - links: - - text: Team - link: /team diff --git a/content/_index.md b/content/_index.md index 6b23a9a..c7fe6e0 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,24 +2,3 @@ title: --- -**Gambit** is an open-source collection of tools for doing -computation in game theory. With Gambit, you can build, analyze, -and explore strategic interactions using noncooperative game theory. - -Use Gambit's graphical interface to get -intuition about simple games, or the command-line tools and -Python extension to support -your world-class research and practical applications. - -To learn more, you can -[browse the documentation](https://gambitproject.readthedocs.io/en/stable), -[install Gambit](install), or -[meet the development team](team). - -Gambit development is supported in part by -[The Alan Turing Institute](https://www.turing.ac.uk) -as part of its project, -[Automated analysis of strategic interactions](https://www.turing.ac.uk/research/research-projects/automated-analysis-strategic-interactions). - - - diff --git a/content/cite.md b/content/cite.md index ee003cb..ec2b878 100644 --- a/content/cite.md +++ b/content/cite.md @@ -11,10 +11,6 @@ and where you think improvements could be made. If Gambit was useful to you in writing a scientific paper, we suggest a citation of the form: -Savani, Rahul and Turocy, Theodore L. (2025). -Gambit: The package for computation in game theory, Version 16.3.0. -https://www.gambit-project.org. +> Savani, Rahul and Turocy, Theodore L. (**2025**). Gambit: The package for computation in game theory, Version **X.X.X.** https://www.gambit-project.org. - -Replace the version number and year as appropriate if you use a -different release. +*Replace X.X.X with the version number you used and replace the year as appropriate. See [releases](https://github.com/gambitproject/gambit/releases).* diff --git a/content/install.md b/content/install.md deleted file mode 100644 index 3ce0077..0000000 --- a/content/install.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Install Gambit ---- - -## Gambit 16.3 - -**Gambit 16.3.0** was released n **2025-01-13**. - -* [Download](https://github.com/gambitproject/gambit/releases/tag/v16.3.0) -* [Documentation](https://gambitproject.readthedocs.io/en/v16.3.0) -* [PyGambit on PyPI](https://pypi.org/project/pygambit/16.3.0) - -## Gambit 16.2 - -**Gambit 16.2.1** was released on **2025-01-06**. - -* [Download](https://github.com/gambitproject/gambit/releases/tag/v16.2.1) -* [Documentation](https://gambitproject.readthedocs.io/en/v16.2.1) -* [PyGambit on PyPI](https://pypi.org/project/pygambit/16.2.1) - - -## Gambit 16.1 - -**Gambit 16.1.1** was released on **2024-01-10**. - -* [Download](https://github.com/gambitproject/gambit/releases/tag/v16.1.1) -* [Documentation](https://gambitproject.readthedocs.io/en/v16.1.1) -* [PyGambit on PyPI](https://pypi.org/project/pygambit/16.1.1) - - -## Gambit 16.0 - -* [Download](https://sourceforge.net/projects/gambit/files/gambit16/16.0.2) -* [Documentation](https://gambitproject.readthedocs.io/en/v16.0.2) -* [PyGambit on PyPI](https://pypi.org/project/pygambit/16.0.2) - diff --git a/content/research.md b/content/research.md new file mode 100644 index 0000000..cb16f4f --- /dev/null +++ b/content/research.md @@ -0,0 +1,4 @@ +--- +title: "Research" +--- + diff --git a/content/team.md b/content/team.md index 265d73a..44c5cf1 100644 --- a/content/team.md +++ b/content/team.md @@ -1,26 +1,3 @@ --- -title: The Gambit development team +title: Team --- - -### Core developers - -**Gambit** is developed and maintained by: - - -* [**Theodore Turocy**](https://tturocy.github.io) (Alan Turing Institute and University of East Anglia) -* [**Rahul Savani**](https://www.csc.liv.ac.uk/~rahul/) (Alan Turing Institute and University of Liverpool) -* [**Yongzhao Wang**](https://sites.google.com/umich.edu/yongzhao-wang/) (Alan Turing Institute) -* [**Daniel Kadnikov**](https://www.turing.ac.uk/people/daniel-kadnikov) (Alan Turing Institute) - - -### Contributing - -**Gambit** development is hosted on GitHub: - -* [Repository](https://github.com/gambitproject/gambit) -* [Issue tracker](https://github.com/gambitproject/gambit/issues) - -To get involved in development, we recommend having a look at -[issues tagged with *good-first-issue*](https://github.com/gambitproject/gambit/issues?q=is%3Aissue+is%3Aopen+label%3Agood-first-issue). -This is a curated list of issues and ideas suitable for getting familiar with -the structure of Gambit's internals. diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..213e238 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,80 @@ +{{ define "main" }} +
+
+ {{ partial "breadcrumbs.html" . }} + + {{/* Check if this is the team page */}} + {{ if eq .File.BaseFileName "team" }} + {{- $team := .Site.Params.team }} + {{ with $team.title }} +

{{ . }}

+ {{ end }} + {{ with $team.description }} +

{{ . }}

+ {{ end }} + + {{ if $team.members }} + + {{ end }} + {{ else if eq .File.BaseFileName "research" }} + {{/* Research page */}} + {{- $research := .Site.Params.team.research }} + {{ with $research.title }} +

{{ . }}

+ {{ end }} + {{ with $research.description }} +

{{ . }}

+ {{ end }} + + {{ if $research.projects }} +
+ {{ range $research.projects }} + + {{ end }} +
+ {{ end }} + {{ else }} + {{/* Default content for non-team pages */}} +

{{ .Title }}

+ {{ if .Params.Subtitle }} +
{{ .Params.Subtitle }}
+ {{ end }} +
+ {{ .Content }} +
+ {{ end }} +
+ {{ partial "shortcuts.html" . }} +
+{{ end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..8326f5b --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,35 @@ +{{- $title := .Site.Title }} +{{- $author := .Site.Params.author.name }} +{{- $footer := .Site.Params.footer }} +{{- $socialMedia := index $footer "socialmedia" }} + + \ No newline at end of file diff --git a/layouts/partials/hero.html b/layouts/partials/hero.html index 81d0a28..02cb4b1 100644 --- a/layouts/partials/hero.html +++ b/layouts/partials/hero.html @@ -5,34 +5,149 @@ {{- $buttonText := index $hero "buttontext" }} {{- $buttonLink := index $hero "buttonlink" }} {{- $image := index $hero "image" }} +{{- $description := index $hero "description" }}
-
- {{ $title }} - -
- {{ with $subtitle }} -
- {{ . }} -
- {{ end }} - - -
- Star - Fork - -
- - {{ if $buttonText }} - - {{ end }} + {{ with $title }} +
+ {{ . }} +
+ {{ end }} + {{ with $subtitle }} +
+ {{ . }} +
+ {{ end }} + + +
+ Star + Fork + +
+ + + {{ if $buttonText }} + + {{ end }} + + +
+
+ +
+ {{ range $description }} +

{{ . }}


+ {{ end }} +
+
+
+ + + {{- $softwareTitle := index $hero "software_title" }} + {{ if $softwareTitle }} +
{{ $softwareTitle }}
+ {{ end }} + {{- $software := index $hero "software" }} + {{ if $software }} + + {{ end }} + + + {{- $solversTitle := index $hero "solvers_title" }} + {{ if $solversTitle }} +
{{ $solversTitle }}
+ {{ end }} + {{- $solvers := index $hero "solvers" }} + {{ if $solvers }} + + {{ end }} + + + {{- $testimonials := index $hero "testimonials" }} + {{ if $testimonials }} +
+
+ {{- range $testimonials }} +
+
+
"
+
{{ .quote }}
+
+
+
{{ .name }}
+
{{ .role }}
+
+
+ {{- end }} +
+
+ {{ end }} + + + {{- $timeline := index $hero "timeline" }} + {{ if $timeline }} + {{ with $timeline.title }} +
{{ . }}
+ {{ end }} + {{ with $timeline.subtitle }} +
{{ . }}
+ {{ end }} +
+
+ {{ $timeline.title }} +
+
+ {{ end }} +
diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html new file mode 100644 index 0000000..d197831 --- /dev/null +++ b/layouts/partials/navbar.html @@ -0,0 +1,88 @@ +{{- $title := .Site.Params.title }} +{{- $navbar := .Site.Params.navbar }} +{{- $navbarLogo := .Site.Params.navbarlogo }} + + + \ No newline at end of file diff --git a/static/images/cli.png b/static/images/cli.png new file mode 100644 index 0000000..020e4e3 Binary files /dev/null and b/static/images/cli.png differ diff --git a/static/images/example.png b/static/images/example.png new file mode 100644 index 0000000..30d3831 Binary files /dev/null and b/static/images/example.png differ diff --git a/static/images/gambit-tree.png b/static/images/gambit-tree.png deleted file mode 100644 index 0d1c098..0000000 Binary files a/static/images/gambit-tree.png and /dev/null differ diff --git a/static/images/gambit.png b/static/images/gambit.png index fa99aa6..b264a14 100644 Binary files a/static/images/gambit.png and b/static/images/gambit.png differ diff --git a/static/images/gambit_timeline.svg b/static/images/gambit_timeline.svg new file mode 100644 index 0000000..5eda5c1 --- /dev/null +++ b/static/images/gambit_timeline.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + 1980s + + + Implemented in BASIC at Caltech + + + + Early-1990s + + + Ported to C and distributed publicly + + + + 1990s + + + C++ re-write + Addition of GUI + Sequence form methods for two-player extensive games + + + + 2000s + + + Modernization of GUI + Interoperability refactoring + + + + 2010s + + + Python API developed in Google Summer of Code + + + + 2020s + + + Alan Turing Institute development: + LLM framework for extensive games + Open-source community building + + + \ No newline at end of file diff --git a/static/images/gui.png b/static/images/gui.png new file mode 100644 index 0000000..0ad737a Binary files /dev/null and b/static/images/gui.png differ diff --git a/static/images/llm.png b/static/images/llm.png new file mode 100644 index 0000000..e28601a Binary files /dev/null and b/static/images/llm.png differ diff --git a/static/images/python.png b/static/images/python.png new file mode 100644 index 0000000..d5e6341 Binary files /dev/null and b/static/images/python.png differ diff --git a/static/images/team/daniel.png b/static/images/team/daniel.png new file mode 100644 index 0000000..aeed7e0 Binary files /dev/null and b/static/images/team/daniel.png differ diff --git a/static/images/team/ed.png b/static/images/team/ed.png new file mode 100644 index 0000000..a97b5d9 Binary files /dev/null and b/static/images/team/ed.png differ diff --git a/static/images/team/rahul.png b/static/images/team/rahul.png new file mode 100644 index 0000000..0572e55 Binary files /dev/null and b/static/images/team/rahul.png differ diff --git a/static/images/team/ted.png b/static/images/team/ted.png new file mode 100644 index 0000000..00e8ef7 Binary files /dev/null and b/static/images/team/ted.png differ diff --git a/static/images/team/yongzhao.png b/static/images/team/yongzhao.png new file mode 100644 index 0000000..d95b6e9 Binary files /dev/null and b/static/images/team/yongzhao.png differ