Go to file
justjosie 9c4030c587
Updating for QGSS 2022
2022-05-18 10:13:37 -07:00
.github ci: deactivate dependabot previews (#2506) 2022-02-22 11:47:44 +01:00
app Update ESLint dependencies (#1153) 2020-11-26 17:04:52 +01:00
assets/scss Replace node-sass with dart-sass (#2491) 2022-03-22 13:21:44 +01:00
components use numbered list 2022-05-06 07:24:35 -07:00
constants Update Summer School website with 2022 Content 2022-05-17 10:51:55 -07:00
content fix(events): events date range filter (#2532) 2022-04-01 11:32:48 +02:00
deploy Get the Qiskit schemas from the new repository (#2017) 2021-07-21 16:16:53 +02:00
hooks fix(events): events date range filter (#2532) 2022-04-01 11:32:48 +02:00
layouts Replace node-sass with dart-sass (#2491) 2022-03-22 13:21:44 +01:00
mixins Update scrollBetweenSections.ts 2022-01-13 17:28:29 -05:00
new-content/learning-resources Update learn page with links to new textbook (#1938) 2021-07-12 15:36:58 -04:00
pages Updating for QGSS 2022 2022-05-18 10:13:37 -07:00
plugins Add new qiskit capabilities section (#2361) 2021-12-21 14:56:15 +01:00
static update favicon 2022-04-13 09:39:58 -07:00
store fix(events): events date range filter (#2532) 2022-04-01 11:32:48 +02:00
tests fix(events): events date range filter (#2532) 2022-04-01 11:32:48 +02:00
types Add Carbon Vue framework fake module declarations 2020-10-23 17:37:07 -04:00
.editorconfig First try 2019-06-06 08:30:22 +02:00
.eslintignore Restore `dist` as the output folder (#412) 2020-01-20 15:32:22 +01:00
.eslintrc.js Update ESLint dependencies (#1153) 2020-11-26 17:04:52 +01:00
.gitignore Restore `dist` as the output folder (#412) 2020-01-20 15:32:22 +01:00
ARCHITECTURE.md docs: add information about reusable components 2021-07-14 12:44:21 -04:00
CODE_OF_CONDUCT.md All Qiskit projects point to main CoC (#1129) 2020-11-18 12:51:38 -05:00
CONTRIBUTING.md docs: add PR template information (#2472) 2022-02-10 16:17:04 +01:00
Dockerfile Merge branch 'main' into fix-docker-dependencies 2022-01-05 15:50:19 -05:00
LICENSE.txt [work in progress] New website 2018-06-30 00:37:09 +02:00
README.md docs: replace Travis with GitHub Actions 2021-07-14 12:44:21 -04:00
jest.config.js Bump jest from 26.6.3 to 27.3.1 (#2250) 2021-10-22 12:37:09 +02:00
jest.setup.js Bump airtable from 0.8.1 to 0.11.1 (#2063) 2021-08-13 17:55:54 +02:00
nuxt.config.ts feat: add 2020 summer school to textbook beta (#2444) 2022-02-25 12:56:24 +01:00
package-lock.json Replace node-sass with dart-sass (#2491) 2022-03-22 13:21:44 +01:00
package.json Replace node-sass with dart-sass (#2491) 2022-03-22 13:21:44 +01:00
stylelint.config.js Adds Summer School 2021 page (#1727) 2021-04-23 14:50:52 +02:00
tsconfig.json Do not allow implicit any and fix dependencies 2020-10-23 17:37:06 -04:00

README.md

Qiskit

Qiskit's website

⚛️ 💻

⚠️ IMPORTANT UPDATE

We renamed the master branch to main and GitHub is displaying a notice for the contributors visiting the repository. However, this is not compatible with the Forking Workflow we follow in the team. If you are contributing to qiskit.org, chances are that you have a fork of this project and your origin remote is pointing to it. The Qiskit/qiskit.org repository should be your upstream remote and so, the instructions provided by GitHub should be directed towards your upstream remote:

git branch -m master main
git fetch upstream
git branch -u upstream/main main

Welcome to Quantum

Qiskit is an open-source quantum computing software development framework for leveraging today's quantum processors in research, education, and business.

Qiskit.org is released under the Apache 2.0 License. Current GitHub Action build status. PRs welcome! Follow @qiskit

Home page · Learn · Documentation · Advocates · Support: Slack

Whats In This Document

Live

Go to Qiskit.org's website

💻 Technology Used

Qiskit.org is a pre-rendering SPA using Nuxt.js.

A pre-rendering SPA is a single page application that generates a static markup (HTML) at build time. The user, when entering the web, receives HTML (as if it were a static web) but in the meantime, JS files belonging to the SPA are loaded “hydrating” the web until it's completely dynamic.

Nuxt.js is the biggest framework on top of Vue.js to generate universal SPAs. Universal or "isomorphic" apps can be pre-rendering or SSR. Since so far we don't need server functions, our website is just pre-rendering.

We create and run unit tests using Jest, ensure avoiding syntax errors using ESLint and automate all these previous tools and deployment using GitHub Actions.

With this technology we want to achieve:

  • Separation between content edition and development concerns.
  • Use a component-based framework like Vue that allow us to reuse part of the UI code in different parts of the application.
  • Fast initial page load.
  • Index content on Search Engines.
  • Test JS unit functions.
  • Avoid syntax errors.
  • Continuous integration pipeline.

🚀 Get Up and Running

  1. Download this repository and go to its folder

    git clone git@github.com:Qiskit/qiskit.org.git && cd qiskit.org
    
  2. Install dependencies

     npm install
    
  3. Run a local server with hot reload at localhost:3000

    npm run dev
    

🏭 Content Generation

qiskit.org integrates with the tools used by the IBM Quantum Community Team and generates some content based on 3rd party APIs such as Airtable. Part of this content is prefetched during building time. While developing, it is disabled by default. If you want enable content generation, you must set the environment variable GENERATE_CONTENT. For instance:

GENERATE_CONTENT=1 npm run dev

Notice that, for communicating with the team tools, API keys may be required. It is the case of dealing with Airtable for the generation of the event index. If you think you should have access to these tables, talk to the Event Squad in the Community Team, get your developer API key and set the AIRTABLE_API_KEY environment variable to this value:

GENERATE_CONTENT=1 AIRTABLE_API_KEY=<your airtable api key> npm run dev

🎚️Other environment flags

Enable analytics

In production, the user can authorize us to gather analytics so we can identify trends and improve our user experience. In development, analytics are disabled by default. To enable, set the ENABLE_ANALYTICS environment variable.

🧐 Directory structure

qiskit.org/
├─ app/
├─ assets/
├─ components/
├─ constants/
├─ content/
├─ deploy/
├─ hooks/
├─ layouts/
├─ mixins/
├─ new-content/
├─ pages/
├─ plugins/
├─ static/
├─ store/
├─ tests/
├─ types/
├─ nuxt.config.js
├─ ... other third-parties configuration files like ESLint, Jest or GitHub Actions

✏️ How to Contribute

Contributions are always welcome, no matter how large or small. Before contributing, please read the contributing guide and code of conduct.

🛠 Available Scripts

Run a local server enabling inspector agent:

  npm run dev-debug

Run unit tests made with Jest:

  npm run test

Build static version ready for production, output will be generated inside a new folder called dist:

  npm run build

Run a local server on the website's production built. Make sure you ran npm run build first:

  npm run start

Find syntax errors. We use ESLint:

  npm run lint

Autofix linter:

  npm run fix-lint

🗓 Open backlog

You can see our backlog here.

👩‍💻 Maintainers

In alphabetical order:

Abdón Rodríguez
Abdón Rodríguez

🐛💻💬
Eddybrando Vásquez
Eddybrando Vásquez

🐛💻💬
Gregorio Iniesta
Gregorio Iniesta

🐛💻💬
Leron Gil
Leron Gil

🐛💬
Randy Tolentino
Randy Tolentino

🐛💻💬
Randy Tolentino
Russell Huffman

🎨💬
Salvador de la Puente
Salvador de la Puente

🐛💻💬
Yaiza García
Yaiza García

🐛💻💬