diff --git a/.eslintrc.js b/.eslintrc.js index 9fa6060a..237f067a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,7 +1,9 @@ module.exports = { - extends: 'react-app', + extends: 'next', rules: { 'react/react-in-jsx-scope': 'off', + 'react/display-name': 'off', + 'react-hooks/exhaustive-deps': 'off', 'jsx-a11y/anchor-is-valid': 'off', }, } diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..97a2bb84 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["next", "next/core-web-vitals"] +} diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..8025712a --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [javaistic,uiuxarghya] +patreon: uiuxarghya # Replace with a single Patreon username +open_collective: javaistic +ko_fi: uiuxarghya # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..5bd43d7d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,10 @@ +contact_links: + - name: Website + about: Visit the Javaistic website. + url: https://javaistic.vercel.app/ + - name: Blog + about: Check out the Javaistic Official Blog. + url: https://blog-javaistic.vercel.app/ + - name: Changelog + about: Check out the Javaistic detailed changelog. + url: https://javaistic.vercel.app/changelog diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 00000000..5af90418 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,47 @@ +name: Documentation +description: Report problems and suggest ideas for the documentation +labels: [docs] + +body: + - type: markdown + attributes: + value: >- + Before opening a new issue, make sure it isn't covered by an existing issue. + Please search for [issues with the `docs` label][docs-issues] (including + closed issues) before you continue. + + + [docs-issues]: https://github.com/javaistic/javaistic/issues?q=is%3Aissue+label%3Adocs+is%3Aopen + + - type: dropdown + attributes: + label: Kind of Issue + description: >- + If your issue type is not here, select "other" and explain in the + "Description" field below. + options: [Improvement, Addition, Bug, Mistake, Other] + validations: + required: true + + - type: textarea + attributes: + label: Description + description: | + Include as much detail as possible, for example: + - A (perma)link to the docs in question + - Suggestions for how to change the docs + placeholder: "Example: The documentation doesn't cover my use case of the NPM package..." + validations: + required: true + + - type: dropdown + attributes: + label: Contributing + description: >- + This is an open source project and we welcome contributions. Do you want to + work on this issue? + options: + - 'Yes' + - 'No' + validations: + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..fe5ad99b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,14 @@ + + +**Issue:** + +### Description + + \ No newline at end of file diff --git a/.github/img/forms-by-formspree.svg b/.github/img/forms-by-formspree.svg new file mode 100644 index 00000000..2570977c --- /dev/null +++ b/.github/img/forms-by-formspree.svg @@ -0,0 +1 @@ + diff --git a/.github/img/javaistic-readme.png b/.github/img/javaistic-readme.png new file mode 100644 index 00000000..7c3633da Binary files /dev/null and b/.github/img/javaistic-readme.png differ diff --git a/.github/img/jetbrains.svg b/.github/img/jetbrains.svg new file mode 100644 index 00000000..19f27d73 --- /dev/null +++ b/.github/img/jetbrains.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.github/img/powered-by-vercel.svg b/.github/img/powered-by-vercel.svg new file mode 100644 index 00000000..10281f67 --- /dev/null +++ b/.github/img/powered-by-vercel.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/.github/img/search-by-algolia.svg b/.github/img/search-by-algolia.svg new file mode 100644 index 00000000..e299dd58 --- /dev/null +++ b/.github/img/search-by-algolia.svg @@ -0,0 +1 @@ + diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..91e78c31 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,69 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + pull_request: + # The branches below must be a subset of the branches above + branches: [main] + schedule: + - cron: "33 3 * * 5" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ["javascript"] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..b0459ad0 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,133 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +javaistic@gmail.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..68e3ae33 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,9 @@ +# Contributing + +Thanks for your interest in contributing to Javaistic Docs! Please take a moment to review this document **before submitting a pull request**. + +## Pull requests + +**Please ask first before starting work on any significant new features.** + +It's never a fun experience to have your pull request declined after investing a lot of time and effort into a new feature. To avoid this from happening, we request that contributors create [a feature request](https://github.com/javaistic/javaistic/discussions/new?category=ideas) to first discuss any significant new ideas. This includes things like adding new java docs, creating new programs, etc. diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..45b12cef --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Arghya Ghosh and Javaistic. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 8796a0b0..f053ea29 100644 --- a/README.md +++ b/README.md @@ -1 +1,102 @@ -# javaistic +
+ +
+ + + + +
+ +### [![Stars](https://badgen.net/github/stars/javaistic/javaistic)](https://github.com/javaistic/javaistic/stargazers) [![Release](https://badgen.net/github/release/javaistic/javaistic)](https://github.com/javaistic/javaistic/releases) [![CodeQL](https://github.com/javaistic/javaistic/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/javaistic/javaistic/actions/workflows/codeql-analysis.yml) [![License](https://badgen.net/github/license/javaistic/javaistic)](LICENSE) [![Better Uptime Badge](https://betteruptime.com/status-badges/v1/monitor/8a3u.svg)](https://javaistic.betteruptime.com/?utm_source=status_badge) + +
+ +
+ +### [Visit Javaistic Site](https://javaistic.vercel.app/) â€ĸ [View Changelog](https://javaistic.vercel.app/changelog) â€ĸ [Check Status](https://javaistic.vercel.app/status) + +
+ +
+ +[![javaistic](.github/img/javaistic-readme.png)](https://javaistic.vercel.app/?utm_source=github&utm_medium=readme-image&utm_campaign=javaistic) + +### Explore Javaistic âŸļ [javaistic.vercel.app](https://javaistic.vercel.app/?utm_source=github&utm_medium=readme-link&utm_campaign=javaistic) + +
+ +## 📄 Description + +Javaistic is a comprehensive website for learning Java programming, packed with detailed information and programs covering everything from basics to advanced topics, including arrays, strings, 2D arrays, recursion, matrices, and more. + +## đŸ”Ĩ Features + +- **Beautiful Design:** Enjoy a visually appealing and optimized learning experience. +- **Comprehensive Content:** Easily understandable Java docs and programs for learners at all levels. +- **Open Source:** Everything is free and open source, encouraging a collaborative learning environment. +- **Ad Free:** Study without distractions - Javaistic is ad-free for an uninterrupted learning experience. + +## đŸĒ´ Project Activity + +![Repobeats Analytics](https://repobeats.axiom.co/api/embed/3df6f52cbd6d58e6c248f9457081834adf6459e5.svg "Repobeats analytics image") + +## 🧑‍đŸ’ģ Contributing + +Interested in contributing to Javaistic Documentation? Please read our [contributing guidelines](CONTRIBUTING.md) before submitting a pull request. + +### Running Locally + +To develop locally, follow these steps: + +1. **Clone this repo:** + + ```sh + git clone https://github.com/javaistic/javaistic.git + ``` + +2. **Navigate to the project root directory:** + + ```sh + cd javaistic + ``` + +3. **Install JS dependencies:** + + ```sh + yarn + ``` + +4. **Start the development server:** + + ```sh + yarn dev + ``` + +## 🤝 Community + +Join the Javaistic community on [GitHub Discussions](https://github.com/javaistic/javaistic/discussions) to ask questions, share ideas, and showcase your projects. + + + +Please review our [Code of Conduct](CODE_OF_CONDUCT.md) for all community interactions. + +## Author + +- Arghya Ghosh [(@uiuxarghya)](https://twitter.com/uiuxarghya) + +## Contributors + +[![](https://contrib.rocks/image?repo=javaistic/javaistic)](https://github.com/javaistic/javaistic/graphs/contributors) + +## 💖 Acknowledgements + +Special thanks to the following companies for their support in building Javaistic: + +[![Powered by Vercel](.github/img/powered-by-vercel.svg)](https://vercel.com/?utm_source=javaistic&utm_campaign=oss) +[![Search by Algolia](.github/img/search-by-algolia.svg)](https://algolia.com/?utm_source=javaistic&utm_campaign=oss) +[![JetBrains](.github/img/jetbrains.svg)](https://jetbrains.com/?utm_source=javaistic&utm_campaign=oss) +[![Forms by Formspree](.github/img/forms-by-formspree.svg)](https://formspree.io/?utm_source=javaistic&utm_campaign=oss) + +**Made with â¤ī¸ in India.** diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 00000000..d5a42143 Binary files /dev/null and b/bun.lockb differ diff --git a/next.config.js b/next.config.js index 15f3e216..2a414c77 100644 --- a/next.config.js +++ b/next.config.js @@ -24,10 +24,10 @@ const fallbackDefaultExports = { } module.exports = withBundleAnalyzer({ - pageExtensions: ['js', 'jsx', 'mdx'], - experimental: { - modern: true, + images: { + disableStaticImages: true, }, + pageExtensions: ['js', 'jsx', 'mdx'], async redirects() { return require('./redirects.json') }, diff --git a/package.json b/package.json index 6f50f173..31c4dfb6 100644 --- a/package.json +++ b/package.json @@ -1,72 +1,85 @@ { "name": "javaistic", - "version": "1.0.0", - "description": "The official website for Javaistic.", + "version": "1.8.0", + "description": "The official Javaistic website.", "private": true, + "main": "index.js", + "repository": "https://github.com/javaistic/javaistic.git", + "author": "Arghya Ghosh <71373838+uiuxarghya@users.noreply.github.com>", + "license": "MIT", "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "export": "next build && next export", - "format": "prettier '{src,remark}/**/*.{css,js,mdx}' --write" + "format": "prettier {src,remark,rehype}/**/*.{css,js,mdx} --write", + "lint": "next lint", + "clean": "rimraf .next" }, "browserslist": [ "> 1%" ], "dependencies": { - "@badrap/bar-of-progress": "^0.1.1", - "@docsearch/react": "^1.0.0-alpha.14", - "@juggle/resize-observer": "^3.2.0", + "@docsearch/react": "^3.6.1", + "@formspree/react": "^2.5.1", + "@headlessui/react": "^1.7.19", + "@heroicons/react": "^1.0.6", + "@juggle/resize-observer": "^3.4.0", "@mdx-js/loader": "^1.6.22", "@mdx-js/react": "^1.6.22", - "@next/bundle-analyzer": "^10.0.1", - "@next/mdx": "^10.0.1", - "@reach/rect": "^0.10.5", + "@next/bundle-analyzer": "^14.2.12", + "@next/mdx": "^14.2.12", + "@reach/rect": "^0.17.0", "@silvenon/remark-smartypants": "^1.0.0", - "@sindresorhus/slugify": "^1.1.0", - "@svgr/webpack": "^5.4.0", + "@sindresorhus/slugify": "^1.1.2", + "@svgr/webpack": "^5.5.0", "@tailwindcss/jit": "^0.1.18", "@tailwindcss/typography": "^0.4.1", - "autoprefixer": "^10.3.1", - "babel-plugin-preval": "^5.0.0", - "clsx": "^1.1.1", + "@uiuxarghya/progress-bar": "^0.1.3", + "autoprefixer": "^10.4.20", + "babel-plugin-preval": "^5.1.0", + "clsx": "^1.2.1", "dlv": "^1.1.3", - "file-loader": "^6.0.0", - "focus-visible": "^5.1.0", + "file-loader": "^6.2.0", + "focus-visible": "^5.2.1", "framer-motion": "^4.1.17", "front-matter": "^4.0.2", - "glob": "^7.1.7", - "intersection-observer": "^0.11.0", - "minimatch": "^3.0.4", - "next": "^10.0.1", - "postcss": "^8.3.5", + "glob": "^7.2.3", + "intersection-observer": "^0.12.2", + "minimatch": "^3.1.2", + "next": "^14.2.12", + "next-themes": "^0.2.1", + "postcss": "^8.4.47", "postcss-focus-visible": "^5.0.0", - "postcss-import": "^14.0.1", - "postcss-nested": "^4.2.3", - "prismjs": "^1.23.0", - "react": "^16.13.1", - "react-dom": "^16.13.1", - "react-intersection-observer": "^8.29.0", + "postcss-import": "^14.1.0", + "postcss-nested": "^5.0.6", + "prismjs": "^1.29.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-intersection-observer": "^8.34.0", "redent": "^3.0.0", + "sharp": "^0.32.6", "simple-functional-loader": "^1.2.1", - "tailwindcss": "^2.2.6", + "tailwindcss": "^2.2.19", "tinytime": "^0.2.6", - "unist-util-visit": "^2.0.3", - "webpack": "4.0.0 || ^5.0.0" + "unist-util-visit": "^2.0.3" }, "devDependencies": { - "@types/react": "^17.0.14", - "@typescript-eslint/eslint-plugin": "2.x", - "@typescript-eslint/parser": "2.x", - "babel-eslint": "10.x", - "eslint": "6.x", - "eslint-config-react-app": "^5.2.1", - "eslint-plugin-flowtype": "4.x", - "eslint-plugin-import": "2.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "2.x", - "prettier": "^2.2.1", - "typescript": "^4.3.5" + "@babel/core": "^7.25.2", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@types/react": "^18.3.8", + "@typescript-eslint/eslint-plugin": "^5.61.0", + "@typescript-eslint/parser": "^5.61.0", + "babel-eslint": "^10.1.0", + "eslint": "^8.57.0", + "eslint-config-next": "^14.2.12", + "eslint-config-react-app": "^7.0.1", + "eslint-import-resolver-typescript": "^2.7.1", + "eslint-plugin-flowtype": "8.0.3", + "eslint-plugin-import": "2.26.0", + "prettier": "^2.8.8", + "prettier-plugin-tailwindcss": "^0.1.13", + "typescript": "^4.9.5", + "webpack": "^5.94.0" } } diff --git a/public/img/docs/installation/bluej.png b/public/img/docs/installation/bluej.png new file mode 100644 index 00000000..7ff947aa Binary files /dev/null and b/public/img/docs/installation/bluej.png differ diff --git a/public/img/docs/installation/intellij-idea.png b/public/img/docs/installation/intellij-idea.png new file mode 100644 index 00000000..4c6b0f3b Binary files /dev/null and b/public/img/docs/installation/intellij-idea.png differ diff --git a/public/img/docs/installation/vs-code.png b/public/img/docs/installation/vs-code.png new file mode 100644 index 00000000..6c7f5a34 Binary files /dev/null and b/public/img/docs/installation/vs-code.png differ diff --git a/public/manifest.json b/public/manifest.json index 21cde907..3e6e948b 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,5 +1,10 @@ { + "short_name": "Javaistic", "name": "Javaistic", + "start_url": "https://javaistic.vercel.app/", + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone", "icons": [ { "src": "/android-chrome-192x192.png", @@ -11,8 +16,5 @@ "sizes": "512x512", "type": "image/png" } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} + ] +} \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt index 760cb1e7..483b0e3f 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,2 +1,2 @@ User-agent: * -Sitemap: https://javaistic.vercel.app/sitemap.xml \ No newline at end of file +Sitemap: https://javaistic.vercel.app/sitemap.xml diff --git a/public/sitemap.xml b/public/sitemap.xml index eaa2d126..36ac2a6f 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -1,52 +1,216 @@ - - - - - https://javaistic.vercel.app/ - 2021-07-25T23:02:47+00:00 - 1.00 - - - https://javaistic.vercel.app/docs - 2021-07-25T23:02:47+00:00 - 0.80 - - - https://javaistic.vercel.app/docs/installation - 2021-07-25T23:02:47+00:00 - 0.80 - - - https://javaistic.vercel.app/docs/introduction - 2021-07-25T23:02:47+00:00 - 0.80 - - - https://javaistic.vercel.app/docs/hello-world - 2021-07-25T23:02:47+00:00 - 0.80 - - - https://javaistic.vercel.app/programs/introduction - 2021-07-25T23:02:47+00:00 - 0.80 - - - https://javaistic.vercel.app/programs - 2021-07-25T23:02:47+00:00 - 0.80 - - - https://javaistic.vercel.app/brand - 2021-07-25T23:02:47+00:00 - 0.80 - - - + xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> + + https://javaistic.vercel.app/ + 2024-10-25T22:59:31+00:00 + 1.00 + + + https://javaistic.vercel.app/docs + 2024-10-25T22:59:31+00:00 + 0.80 + + + https://javaistic.vercel.app/programs + 2024-10-25T22:59:31+00:00 + 0.80 + + + https://javaistic.vercel.app/docs/installation + 2024-10-25T22:59:32+00:00 + 0.80 + + + https://javaistic.vercel.app/programs/introduction + 2024-10-25T22:59:32+00:00 + 0.80 + + + https://javaistic.vercel.app/brand + 2024-10-25T22:59:32+00:00 + 0.80 + + + https://javaistic.vercel.app/sponsors + 2024-10-25T22:59:32+00:00 + 0.80 + + + https://javaistic.vercel.app/changelog + 2024-10-25T22:59:32+00:00 + 0.80 + + + https://javaistic.vercel.app/docs/introduction + 2024-10-25T22:59:33+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/hello-world + 2024-10-25T22:59:33+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/jvm-jre-jdk + 2024-10-25T22:59:33+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/variables-and-literals + 2024-10-25T22:59:33+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/variables-primitive-data-types + 2024-10-25T22:59:34+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/operators + 2024-10-25T22:59:34+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/basic-input-output + 2024-10-25T22:59:34+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/expressions-statements-blocks + 2024-10-25T22:59:34+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/comments + 2024-10-25T22:59:35+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/if-else-statement + 2024-10-25T22:59:35+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/switch-statement + 2024-10-25T22:59:35+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/for-loop + 2024-10-25T22:59:35+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/enhanced-for-loop + 2024-10-25T22:59:35+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/while-and-do-while-loop + 2024-10-25T22:59:36+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/break-statement + 2024-10-25T22:59:36+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/continue-statement + 2024-10-25T22:59:36+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/arrays + 2024-10-25T22:59:36+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/multidimensional-arrays + 2024-10-25T22:59:36+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/class-objects + 2024-10-25T22:59:36+00:00 + 0.64 + + + https://javaistic.vercel.app/docs/static-keyword + 2024-10-25T22:59:36+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/print-an-integer + 2024-10-25T22:59:37+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/add-two-integers + 2024-10-25T22:59:37+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/check-even-or-odd + 2024-10-25T22:59:37+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/java-program-to-add-two-binary-numbers + 2024-10-25T22:59:37+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/java-program-to-add-two-complex-numbers + 2024-10-25T22:59:37+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/multiply-two-numbers + 2024-10-25T22:59:37+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/java-program-to-check-Leap-year + 2024-10-25T22:59:38+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/calculate-simple-interest + 2024-10-25T22:59:38+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/java-program-to-check-divisbility + 2024-10-25T22:59:38+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/find-quotient-and-reminder + 2024-10-25T22:59:38+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/calculate-power-of-a-number + 2024-10-25T22:59:38+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/calculate-compound-interest + 2024-10-25T22:59:39+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/factorial-in-java + 2024-10-25T22:59:39+00:00 + 0.64 + + + https://javaistic.vercel.app/programs/java-program-to-find-nth-fibonacci-number + 2024-10-25T22:59:39+00:00 + 0.64 + \ No newline at end of file diff --git a/public/urllist.txt b/public/urllist.txt new file mode 100644 index 00000000..01bd0264 --- /dev/null +++ b/public/urllist.txt @@ -0,0 +1,42 @@ +https://javaistic.vercel.app/ +https://javaistic.vercel.app/docs +https://javaistic.vercel.app/programs +https://javaistic.vercel.app/docs/installation +https://javaistic.vercel.app/programs/introduction +https://javaistic.vercel.app/brand +https://javaistic.vercel.app/sponsors +https://javaistic.vercel.app/changelog +https://javaistic.vercel.app/docs/introduction +https://javaistic.vercel.app/docs/hello-world +https://javaistic.vercel.app/docs/jvm-jre-jdk +https://javaistic.vercel.app/docs/variables-and-literals +https://javaistic.vercel.app/docs/variables-primitive-data-types +https://javaistic.vercel.app/docs/operators +https://javaistic.vercel.app/docs/basic-input-output +https://javaistic.vercel.app/docs/expressions-statements-blocks +https://javaistic.vercel.app/docs/comments +https://javaistic.vercel.app/docs/if-else-statement +https://javaistic.vercel.app/docs/switch-statement +https://javaistic.vercel.app/docs/for-loop +https://javaistic.vercel.app/docs/enhanced-for-loop +https://javaistic.vercel.app/docs/while-and-do-while-loop +https://javaistic.vercel.app/docs/break-statement +https://javaistic.vercel.app/docs/continue-statement +https://javaistic.vercel.app/docs/arrays +https://javaistic.vercel.app/docs/multidimensional-arrays +https://javaistic.vercel.app/docs/class-objects +https://javaistic.vercel.app/docs/static-keyword +https://javaistic.vercel.app/programs/print-an-integer +https://javaistic.vercel.app/programs/add-two-integers +https://javaistic.vercel.app/programs/check-even-or-odd +https://javaistic.vercel.app/programs/java-program-to-add-two-binary-numbers +https://javaistic.vercel.app/programs/java-program-to-add-two-complex-numbers +https://javaistic.vercel.app/programs/multiply-two-numbers +https://javaistic.vercel.app/programs/java-program-to-check-Leap-year +https://javaistic.vercel.app/programs/calculate-simple-interest +https://javaistic.vercel.app/programs/java-program-to-check-divisbility +https://javaistic.vercel.app/programs/find-quotient-and-reminder +https://javaistic.vercel.app/programs/calculate-power-of-a-number +https://javaistic.vercel.app/programs/calculate-compound-interest +https://javaistic.vercel.app/programs/factorial-in-java +https://javaistic.vercel.app/programs/java-program-to-find-nth-fibonacci-number \ No newline at end of file diff --git a/redirects.json b/redirects.json index e07f6e7f..af21afdb 100644 --- a/redirects.json +++ b/redirects.json @@ -1,15 +1,37 @@ [ - { "source": "/docs/what-is-javaistic", "destination": "/", "permanent": false }, - { "source": "/discord", "destination": "https://discord.gg/RkHJqvK9r8", "permanent": false }, + { + "source": "/blog", + "destination": "https://blog-javaistic.vercel.app/", + "permanent": false + }, + { + "source": "/community", + "destination": "https://discord.gg/PDcEweNM7v", + "permanent": false + }, + { + "source": "/discord", + "destination": "https://discord.gg/PDcEweNM7v", + "permanent": false + }, { "source": "/forum", "destination": "https://github.com/javaistic/javaistic/discussions", "permanent": false }, { - "source": "/docs/slug", - "destination": "/docs/slug", + "source": "/license", + "destination": "https://raw.githubusercontent.com/javaistic/javaistic/main/LICENSE", "permanent": false }, - { "source": "/community", "destination": "https://discord.gg/RkHJqvK9r8", "permanent": false } -] + { + "source": "/stats", + "destination": "https://javaistic.betteruptime.com/", + "permanent": false + }, + { + "source": "/status", + "destination": "https://javaistic.betteruptime.com/", + "permanent": false + } +] \ No newline at end of file diff --git a/remark/prism-diff-highlight.js b/remark/prism-diff-highlight.js index 31bdf229..344a808f 100644 --- a/remark/prism-diff-highlight.js +++ b/remark/prism-diff-highlight.js @@ -1,7 +1,8 @@ // https://github.com/PrismJS/prism/blob/master/plugins/diff-highlight/prism-diff-highlight.js module.exports = (Prism) => { var LANGUAGE_REGEX = /diff-([\w-]+)/i - var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/gi + var HTML_TAG = + /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/gi //this will match a line plus the line break while ignoring the line breaks HTML tags may contain. var HTML_LINE = RegExp( /(?:__|[^\r\n<])*(?:\r\n?|\n|(?:__|[^\r\n<])(?![^\r\n]))/.source.replace(/__/g, function () { diff --git a/remark/utils.js b/remark/utils.js index 5183fd96..5eff169e 100644 --- a/remark/utils.js +++ b/remark/utils.js @@ -3,7 +3,8 @@ const loadLanguages = require('prismjs/components/') loadLanguages() require('./prism-diff-highlight')(Prism) -const HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/gi +const HTML_TAG = + /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/gi const PSEUDO_CLASSES = [ 'active', 'any-link', diff --git a/remark/withSyntaxHighlighting.js b/remark/withSyntaxHighlighting.js index 45202801..083537ac 100644 --- a/remark/withSyntaxHighlighting.js +++ b/remark/withSyntaxHighlighting.js @@ -17,7 +17,9 @@ module.exports.withSyntaxHighlighting = () => { if (node.lang !== null) { node.type = 'html' node.value = [ - `
`, + `
`, `
`,
diff --git a/src/components/Button.js b/src/components/Button.js
index ff9dec8e..9884d80c 100644
--- a/src/components/Button.js
+++ b/src/components/Button.js
@@ -2,13 +2,14 @@ import Link from 'next/link'
 
 export function Button({ children, ...props }) {
   return (
-    
-      
-        {children}
-        
-          
-        
-      
+    
+      {children}
+      
+        
+      
     
   )
 }
diff --git a/src/components/ClassTable.js b/src/components/ClassTable.js
index ec2cba86..60de514c 100644
--- a/src/components/ClassTable.js
+++ b/src/components/ClassTable.js
@@ -126,40 +126,40 @@ export const ClassTable = memo(
     })
 
     return (
-      
+
Default class reference
12 } )} > {custom || ( - +
- {preview && ( - @@ -176,7 +176,7 @@ export const ClassTable = memo(
-
Class
+
+
Class
Properties
-
+
+
Preview 
{stringifyProperties(transformProperties({ selector, properties }), { filter: filterProperties, diff --git a/src/components/CodeSample.js b/src/components/CodeSample.js index 7cda6db0..ae280dd4 100644 --- a/src/components/CodeSample.js +++ b/src/components/CodeSample.js @@ -73,7 +73,7 @@ function Snippet({ color, snippet }) { >
+    
{preview ? (