mirror of
				https://git.disroot.org/wolfree/wolfree-dockerfile
				synced 2025-06-06 00:49:20 +02:00 
			
		
		
		
	2023-08-10
This commit is contained in:
		
							
								
								
									
										19
									
								
								docusaurus/static/.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								docusaurus/static/.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
# To contribute improvements to CI/CD templates, please follow the Development guide at:
 | 
			
		||||
# https://docs.gitlab.com/ee/development/cicd/templates.html
 | 
			
		||||
# This specific template is located at:
 | 
			
		||||
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Pages/HTML.gitlab-ci.yml
 | 
			
		||||
 | 
			
		||||
# Full project: https://gitlab.com/pages/plain-html
 | 
			
		||||
pages:
 | 
			
		||||
  stage: deploy
 | 
			
		||||
  environment: production
 | 
			
		||||
  script:
 | 
			
		||||
    - mkdir .public
 | 
			
		||||
    - cp -r ./* .public
 | 
			
		||||
    - rm -rf public
 | 
			
		||||
    - mv .public public
 | 
			
		||||
  artifacts:
 | 
			
		||||
    paths:
 | 
			
		||||
      - public
 | 
			
		||||
  rules:
 | 
			
		||||
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
 | 
			
		||||
							
								
								
									
										0
									
								
								docusaurus/static/.nojekyll
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								docusaurus/static/.nojekyll
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  /* padding: 26px 40px 20px; */
 | 
			
		||||
  padding: 26px 0 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div {
 | 
			
		||||
  position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div {
 | 
			
		||||
  max-width: 780px;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div>div {
 | 
			
		||||
  box-shadow: 0 0 10px 0 hsla(0, 0%, 80%, 0.5), 0 0 1px 0 hsla(0, 0%, 80%, 0.5);
 | 
			
		||||
  border-radius: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div>div>div {
 | 
			
		||||
  min-height: 16vh;
 | 
			
		||||
  background: #fdfdfd;
 | 
			
		||||
  opacity: 1;
 | 
			
		||||
  border-bottom: 1px solid transparent;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div>div>div:nth-of-type(1)>div {
 | 
			
		||||
  background-image: linear-gradient(90deg,
 | 
			
		||||
      #f5f5f5 50%,
 | 
			
		||||
      #ebebeb 60%,
 | 
			
		||||
      #f5f5f5 70%);
 | 
			
		||||
  border-top-left-radius: 5px;
 | 
			
		||||
  border-top-right-radius: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div>div>div:nth-of-type(2)>div {
 | 
			
		||||
  background-image: linear-gradient(90deg,
 | 
			
		||||
      #f5f5f5 30%,
 | 
			
		||||
      #ebebeb 40%,
 | 
			
		||||
      #f5f5f5 50%);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div>div>div:nth-of-type(3)>div {
 | 
			
		||||
  background-image: linear-gradient(90deg,
 | 
			
		||||
      #f5f5f5 10%,
 | 
			
		||||
      #ebebeb 20%,
 | 
			
		||||
      #f5f5f5 30%);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div>div>div>div {
 | 
			
		||||
  height: 30px;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: row;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-placeholder>div>div>div>div {
 | 
			
		||||
  background-size: 1200%;
 | 
			
		||||
  -webkit-animation-duration: 3.5s;
 | 
			
		||||
  animation-duration: 3.5s;
 | 
			
		||||
  -webkit-animation-fill-mode: forwards;
 | 
			
		||||
  animation-fill-mode: forwards;
 | 
			
		||||
  -webkit-animation-iteration-count: infinite;
 | 
			
		||||
  animation-iteration-count: infinite;
 | 
			
		||||
  -webkit-animation-name: _QC3H;
 | 
			
		||||
  animation-name: _QC3H;
 | 
			
		||||
  -webkit-animation-timing-function: cubic-bezier(0.55, 0.45, 1, 1);
 | 
			
		||||
  animation-timing-function: cubic-bezier(0.55, 0.45, 1, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes _QC3H {
 | 
			
		||||
  0% {
 | 
			
		||||
    background-position: 100% 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  to {
 | 
			
		||||
    background-position: -100% 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										125
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/css/PodsParser.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/css/PodsParser.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
.wolfree-pods {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  /* padding: 26px 0 20px; */
 | 
			
		||||
  padding: 26px 0 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div {
 | 
			
		||||
  position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div {
 | 
			
		||||
  max-width: 780px;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div {
 | 
			
		||||
  position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section {
 | 
			
		||||
  box-shadow: 0 0 10px 0 hsla(0, 0%, 80%, 0.5), 0 0 1px 0 hsla(0, 0%, 80%, 0.5);
 | 
			
		||||
  border-radius: 5px;
 | 
			
		||||
  /* margin-bottom: 20px; */
 | 
			
		||||
  margin-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section {
 | 
			
		||||
  border-top-color: transparent;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: column;
 | 
			
		||||
  position: relative;
 | 
			
		||||
  background: #f5f5f5;
 | 
			
		||||
  outline: none;
 | 
			
		||||
  border-color: #fff transparent;
 | 
			
		||||
  border-style: solid;
 | 
			
		||||
  border-width: 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section:first-child {
 | 
			
		||||
  border-top-left-radius: inherit;
 | 
			
		||||
  border-top-right-radius: inherit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:is(:first-child) {
 | 
			
		||||
  min-height: 30px;
 | 
			
		||||
  font-size: 13px;
 | 
			
		||||
  font-family: WebRoboto, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN, Meiryo,
 | 
			
		||||
    メイリオ, Arial, Helvetica, sans-serif;
 | 
			
		||||
  background: #f5f5f5;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: space-between;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  padding: 6px 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:is(:first-child)>h2 {
 | 
			
		||||
  color: #678e9c;
 | 
			
		||||
  margin-right: 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:is(:first-child)>select {
 | 
			
		||||
  /* We style this element manually. */
 | 
			
		||||
  border-radius: 4px;
 | 
			
		||||
  border-style: solid;
 | 
			
		||||
  border-width: thin;
 | 
			
		||||
  min-height: 20px;
 | 
			
		||||
  cursor: pointer;
 | 
			
		||||
  color: #ff6c00;
 | 
			
		||||
  background-color: #fff;
 | 
			
		||||
  border-color: #ec561a;
 | 
			
		||||
  touch-action: manipulation;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:not(:first-child) {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  align-items: flex-end;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  background: #fff;
 | 
			
		||||
  border-radius: inherit;
 | 
			
		||||
  padding: 6px 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:not(:first-child)>div {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  flex: 1 1 auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:not(:first-child)>div>img {
 | 
			
		||||
  max-width: 100%;
 | 
			
		||||
  /* width: 100%; */
 | 
			
		||||
  width: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:not(:first-child)>div>div>details>summary {
 | 
			
		||||
  /* We style this element manually. */
 | 
			
		||||
  cursor: pointer;
 | 
			
		||||
  touch-action: manipulation;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:not(:first-child)>div>div>details>div {
 | 
			
		||||
  /* We style this element manually. */
 | 
			
		||||
  padding: 1rem;
 | 
			
		||||
  line-height: 2;
 | 
			
		||||
  touch-action: manipulation;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wolfree-pods>div>div>section>section>div:not(:first-child)>div>div>details>textarea {
 | 
			
		||||
  /* We style this element manually. */
 | 
			
		||||
  width: 99%;
 | 
			
		||||
  height: 50vh;
 | 
			
		||||
  touch-action: manipulation;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										56
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/AJAX.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/AJAX.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
import SearchParams from "./SearchParams.js";
 | 
			
		||||
 | 
			
		||||
export default class AJAX {
 | 
			
		||||
  ajax = async ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      const data = new SearchParams().getSearchParams({
 | 
			
		||||
        input,
 | 
			
		||||
        extraPodstates,
 | 
			
		||||
        i2d,
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      const options = {
 | 
			
		||||
        url: "https://api.wolframalpha.com/v2/query",
 | 
			
		||||
        dataType: "jsonp",
 | 
			
		||||
        traditional: true,
 | 
			
		||||
        data,
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      try {
 | 
			
		||||
        /**
 | 
			
		||||
         * https://www.npmjs.com/package/@types/jquery
 | 
			
		||||
         * @type {import('jQuery')}
 | 
			
		||||
         */
 | 
			
		||||
        const response = await jQuery.ajax(options);
 | 
			
		||||
        return (
 | 
			
		||||
          console.assert(response instanceof Object),
 | 
			
		||||
          console.assert(response.hasOwnProperty("queryresult")),
 | 
			
		||||
          { response }
 | 
			
		||||
        );
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        return (
 | 
			
		||||
          console.error(
 | 
			
		||||
            { error },
 | 
			
		||||
            "We encountered an issue while attempting to retrieve a response from the Wolfram Alpha API using the jQuery library."
 | 
			
		||||
          ),
 | 
			
		||||
          { error }
 | 
			
		||||
        );
 | 
			
		||||
      }
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      return console.error({ error }), { error };
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										57
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/AppID.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/AppID.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
// To generate a new AppID:
 | 
			
		||||
//  1. Open Tor Browser and go to: https://products.wolframalpha.com/api/
 | 
			
		||||
//  2. Click the orangish "Get API Access" button. You will go to: https://account.wolfram.com/login/oauth2/sign-in
 | 
			
		||||
//  3. Click the reddish "Create one" hyperlink to create a new Wolfram ID. You will go to: https://account.wolfram.com/login/create
 | 
			
		||||
//  4. Fill out the form using random alphanumeric characters.
 | 
			
		||||
//  5. Click the reddish "Create Wolfram ID" button. You will go to: https://developer.wolframalpha.com/portal/myapps/index.html
 | 
			
		||||
//  6. Click the orangish "Sign up to get your first AppID" button.
 | 
			
		||||
//  7. Fill out the form using random alphanumeric characters.
 | 
			
		||||
//  8. Click the orangish "Sign up" button.
 | 
			
		||||
//  9. Click the orangish "Get an AppID" button.
 | 
			
		||||
// 10. Fill out the form using random alphanumeric characters.
 | 
			
		||||
// 11. Click the orangish "Get AppID" button.
 | 
			
		||||
 | 
			
		||||
export default class AppID {
 | 
			
		||||
  appIDArray = Array();
 | 
			
		||||
 | 
			
		||||
  constructor(
 | 
			
		||||
    appIDArray = ["H9V325-HTALUWHKGK", "AKJTJT-LR5LL8WTG6", "LKY83U-XW6ATU9URU"]
 | 
			
		||||
  ) {
 | 
			
		||||
    (this.appIDArray = appIDArray),
 | 
			
		||||
      Array.from(this.appIDArray).forEach(
 | 
			
		||||
        (appID) => (
 | 
			
		||||
          console.assert(17 === appID.length),
 | 
			
		||||
          console.assert(/[0-9A-Z]{6}-[0-9A-Z]{10}/.test(appID))
 | 
			
		||||
        )
 | 
			
		||||
      );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  getAppID = ({
 | 
			
		||||
    appID = this.appIDArray[this.getRandomInt() % this.appIDArray.length],
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      return appID;
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      return console.error({ error }), String();
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  getRandomInt = ({
 | 
			
		||||
    randomInt = crypto.getRandomValues(new Uint32Array(1))[0],
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      return randomInt;
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      return console.error({ error }), Number();
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Entrypoint.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Entrypoint.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
import Processor from "./Processor.js";
 | 
			
		||||
import Preprocessor from "./Preprocessor.js";
 | 
			
		||||
import PostProcessor from "./PostProcessor.js";
 | 
			
		||||
 | 
			
		||||
export default async ({
 | 
			
		||||
  input = String(),
 | 
			
		||||
  i2d = Boolean(),
 | 
			
		||||
  extraPodstates = Array(),
 | 
			
		||||
} = {}) => {
 | 
			
		||||
  try {
 | 
			
		||||
    new Preprocessor().process();
 | 
			
		||||
    await new Processor().process({ input, i2d, extraPodstates });
 | 
			
		||||
    new PostProcessor().process({ input, i2d });
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    console.error({ error });
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										69
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Placeholder.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,69 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
export default class Placeholder {
 | 
			
		||||
  className = "wolfree-placeholder";
 | 
			
		||||
 | 
			
		||||
  placeholderHTML = `
 | 
			
		||||
      <div class="${this.className}">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div>
 | 
			
		||||
            <div><div></div></div>
 | 
			
		||||
            <div><div></div></div>
 | 
			
		||||
            <div><div></div></div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    `;
 | 
			
		||||
 | 
			
		||||
  insert = ({
 | 
			
		||||
    container = document.querySelector(
 | 
			
		||||
      "html > body > #__next > div > main > main > div:nth-of-type(1)"
 | 
			
		||||
    ),
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      return (
 | 
			
		||||
        container instanceof HTMLDivElement
 | 
			
		||||
          ? container.insertAdjacentHTML("afterend", this.placeholderHTML)
 | 
			
		||||
          : console.error({ container }),
 | 
			
		||||
        { container }
 | 
			
		||||
      );
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      return (
 | 
			
		||||
        console.error(
 | 
			
		||||
          { error },
 | 
			
		||||
          "Fail to insert the skeleton placeholder components."
 | 
			
		||||
        ),
 | 
			
		||||
        { error }
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  remove = ({
 | 
			
		||||
    allPlaceholders = document.querySelectorAll(
 | 
			
		||||
      `html > body > #__next > div > main > main > div.${this.className}`
 | 
			
		||||
    ),
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      return (
 | 
			
		||||
        console.assert(allPlaceholders.length === 1),
 | 
			
		||||
        allPlaceholders.forEach((placeholder) => placeholder.remove()),
 | 
			
		||||
        { allPlaceholders }
 | 
			
		||||
      );
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      return (
 | 
			
		||||
        console.error(
 | 
			
		||||
          { error },
 | 
			
		||||
          "Fail to remove the skeleton placeholder components."
 | 
			
		||||
        ),
 | 
			
		||||
        { error }
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										56
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Pods.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Pods.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
export default class Pods {
 | 
			
		||||
  insert = ({
 | 
			
		||||
    container = document.querySelector("main > div:nth-of-type(1)"),
 | 
			
		||||
    html = String(),
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      /**
 | 
			
		||||
       * https://www.npmjs.com/package/@types/dompurify
 | 
			
		||||
       * @type {import('DOMPurify')}
 | 
			
		||||
       */
 | 
			
		||||
      return (
 | 
			
		||||
        container instanceof HTMLDivElement
 | 
			
		||||
          ? container.insertAdjacentHTML(
 | 
			
		||||
              "afterend",
 | 
			
		||||
              globalThis.DOMPurify.sanitize(html)
 | 
			
		||||
            )
 | 
			
		||||
          : console.error({ container }),
 | 
			
		||||
        { container, html }
 | 
			
		||||
      );
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      return (
 | 
			
		||||
        console.error(
 | 
			
		||||
          { error },
 | 
			
		||||
          "Fail to insert the results of the calculation."
 | 
			
		||||
        ),
 | 
			
		||||
        { error }
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  remove = ({
 | 
			
		||||
    pods = document.querySelectorAll("main > div.wolfree-pods"),
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      pods.forEach((element) => {
 | 
			
		||||
        element.remove();
 | 
			
		||||
      });
 | 
			
		||||
      return { pods };
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      console.error(
 | 
			
		||||
        "Fail to remove the results of the previous calculation.",
 | 
			
		||||
        error
 | 
			
		||||
      );
 | 
			
		||||
      return { error };
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										201
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/PodsParser.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/PodsParser.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,201 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
export default class PodsParser {
 | 
			
		||||
  parse = ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
    response = { queryresult: { pods: Array() } },
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      return { html: this.buildHTML({ input, i2d, extraPodstates, response }) };
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      return console.error({ error }), { error };
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildHTML = ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
    response = { queryresult: { pods: Array() } },
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <div class="wolfree-pods">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div>
 | 
			
		||||
            <section>
 | 
			
		||||
              ${this.parseQueryResult({ response })}
 | 
			
		||||
              ${this.buildTechnicalInfo({
 | 
			
		||||
                input,
 | 
			
		||||
                i2d,
 | 
			
		||||
                extraPodstates,
 | 
			
		||||
                response,
 | 
			
		||||
              })}
 | 
			
		||||
            </section>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  parseQueryResult = ({ response = { queryresult: { pods: Array() } } }) => {
 | 
			
		||||
    const { queryresult } = response;
 | 
			
		||||
    const { pods } = queryresult;
 | 
			
		||||
    if (pods) {
 | 
			
		||||
      return pods.map(this.parsePod).join("");
 | 
			
		||||
    }
 | 
			
		||||
    return "";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  parsePod = (
 | 
			
		||||
    pod = {
 | 
			
		||||
      title: String(),
 | 
			
		||||
      states: Array(),
 | 
			
		||||
      subpods: Array(),
 | 
			
		||||
    }
 | 
			
		||||
  ) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <section>
 | 
			
		||||
        ${this.buildPodHeader(pod)}
 | 
			
		||||
        <div></div>
 | 
			
		||||
        ${pod.subpods.map(this.buildSubpod).join("")}
 | 
			
		||||
      </section>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildPodHeader = (pod = { title: String(), states: Array() }) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <div>
 | 
			
		||||
        <h2>${this.escapeHTML(pod.title)}</h2>
 | 
			
		||||
        ${pod.states ? pod.states.map(this.buildSelectElement).join("") : ""}
 | 
			
		||||
      </div>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildSubpod = (
 | 
			
		||||
    subpod = { img: { src: String(), alt: String() }, plaintext: String() }
 | 
			
		||||
  ) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <div><div>
 | 
			
		||||
        <img
 | 
			
		||||
          src="${this.escapeHTML(subpod.img.src)}"
 | 
			
		||||
          alt="${this.escapeHTML(subpod.img.alt)}"
 | 
			
		||||
        >
 | 
			
		||||
      </div></div>
 | 
			
		||||
      <div style="font-family: monospace; overflow: auto;">
 | 
			
		||||
        <div><div>${this.buildSubpodDetails(subpod)}</div></div>
 | 
			
		||||
      </div>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildSubpodDetails = (subpod = { plaintext: String() }) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <details>
 | 
			
		||||
        <summary style="direction: rtl;"></summary>
 | 
			
		||||
        <div><pre>${this.escapeHTML(subpod.plaintext)}</pre></div>
 | 
			
		||||
        <br>
 | 
			
		||||
      </details>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildSelectElement = (state = { value: String(), states: Array() }) => {
 | 
			
		||||
    if (state.states) {
 | 
			
		||||
      return `
 | 
			
		||||
        <select name="pod-states">
 | 
			
		||||
          <option>${this.escapeHTML(state.value)}</option>
 | 
			
		||||
          ${state.states.map(this.buildOption).join("")}
 | 
			
		||||
        </select>
 | 
			
		||||
      `;
 | 
			
		||||
    }
 | 
			
		||||
    return "";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildOption = (state = { name: String() }) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <option>${this.escapeHTML(state.name)}</option>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildTechnicalInfo = ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
    response = { queryresult: { pods: Array() } },
 | 
			
		||||
  }) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <section>
 | 
			
		||||
        <div><h2>Technical information</h2></div>
 | 
			
		||||
        <div></div>
 | 
			
		||||
        <div><div><div>${this.buildTechnicalInfoDetails({
 | 
			
		||||
          input,
 | 
			
		||||
          i2d,
 | 
			
		||||
          extraPodstates,
 | 
			
		||||
          response,
 | 
			
		||||
        })}</div></div></div>
 | 
			
		||||
        <div></div>
 | 
			
		||||
      </section>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildTechnicalInfoDetails = ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
    response = { queryresult: { pods: Array() } },
 | 
			
		||||
  }) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <details>
 | 
			
		||||
        <div>
 | 
			
		||||
          If you have programming knowledge, feel free to explore the technical information provided below:
 | 
			
		||||
        </div>
 | 
			
		||||
        ${this.buildTextarea({ input, i2d, extraPodstates, response })}
 | 
			
		||||
      </details>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildTextarea = ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
    response = { queryresult: { pods: Array() } },
 | 
			
		||||
  }) => {
 | 
			
		||||
    return `
 | 
			
		||||
      <textarea name="technical-information">${this.escapeHTML(
 | 
			
		||||
        JSON.stringify(
 | 
			
		||||
          {
 | 
			
		||||
            document,
 | 
			
		||||
            input,
 | 
			
		||||
            i2d,
 | 
			
		||||
            extraPodstates,
 | 
			
		||||
            response,
 | 
			
		||||
          },
 | 
			
		||||
          null,
 | 
			
		||||
          4
 | 
			
		||||
        )
 | 
			
		||||
      )}</textarea>
 | 
			
		||||
    `;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  escapeHTML = (unsafe = String()) => {
 | 
			
		||||
    return unsafe
 | 
			
		||||
      .replace(/&/g, "&")
 | 
			
		||||
      .replace(/</g, "<")
 | 
			
		||||
      .replace(/>/g, ">")
 | 
			
		||||
      .replace(/"/g, """)
 | 
			
		||||
      .replace(/'/g, "'");
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Can I escape HTML special chars in JavaScript? - Stack Overflow
 | 
			
		||||
// https://stackoverflow.com/questions/6234773/can-i-escape-html-special-chars-in-javascript
 | 
			
		||||
 | 
			
		||||
// test case:
 | 
			
		||||
// https://www.wolframalpha.com/input?i=solve+%7By%27%28x%29+%3D+-2+y%2C+y%280%29%3D1%7D+from+0+to+10+using+r+k+f+algorithm
 | 
			
		||||
@@ -0,0 +1,63 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
import Placeholder from "./Placeholder.js";
 | 
			
		||||
import Entrypoint from "./Entrypoint.js";
 | 
			
		||||
 | 
			
		||||
export default class PostProcessor {
 | 
			
		||||
  process = ({ input = String(), i2d = Boolean() } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      new Placeholder().remove();
 | 
			
		||||
 | 
			
		||||
      try {
 | 
			
		||||
        document
 | 
			
		||||
          .querySelectorAll(
 | 
			
		||||
            "html > body > div#__next > div > main > main > div.wolfree-pods > div > div > section > section > div > div > div > details > div"
 | 
			
		||||
          )
 | 
			
		||||
          .forEach((element = new HTMLElement()) =>
 | 
			
		||||
            element.setAttribute("contenteditable", "")
 | 
			
		||||
          );
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        console.error(
 | 
			
		||||
          "Fail to make the plaintext in details tags easy to copy.",
 | 
			
		||||
          error
 | 
			
		||||
        );
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      try {
 | 
			
		||||
        document
 | 
			
		||||
          .querySelectorAll(
 | 
			
		||||
            "html > body > div#__next > div > main > main > div.wolfree-pods > div > div > section > section > div:is(:first-child) > select"
 | 
			
		||||
          )
 | 
			
		||||
          .forEach((element = new HTMLSelectElement()) =>
 | 
			
		||||
            element.addEventListener(
 | 
			
		||||
              "change",
 | 
			
		||||
              async (event = new Event(String())) =>
 | 
			
		||||
                Entrypoint({
 | 
			
		||||
                  input,
 | 
			
		||||
                  i2d,
 | 
			
		||||
                  extraPodstates: [
 | 
			
		||||
                    event.target instanceof HTMLSelectElement
 | 
			
		||||
                      ? event.target.value
 | 
			
		||||
                      : (console.error({ event }), String()),
 | 
			
		||||
                  ],
 | 
			
		||||
                })
 | 
			
		||||
            )
 | 
			
		||||
          );
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        console.error(
 | 
			
		||||
          "Fail to set up the drop-down menu for problem-solving strategies.",
 | 
			
		||||
          error
 | 
			
		||||
        );
 | 
			
		||||
      }
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      console.error({ error });
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
import Placeholder from "./Placeholder.js";
 | 
			
		||||
import Pods from "./Pods.js";
 | 
			
		||||
 | 
			
		||||
export default class Preprocessor {
 | 
			
		||||
  process = () => {
 | 
			
		||||
    try {
 | 
			
		||||
      try {
 | 
			
		||||
        window.scroll(0, 0);
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        console.error({ error }, "Fail to scroll to the top of the webpage.");
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      new Placeholder().insert();
 | 
			
		||||
 | 
			
		||||
      new Pods().remove();
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      console.error({ error });
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										54
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Processor.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/Processor.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
import AJAX from "./AJAX.js";
 | 
			
		||||
import PodsParser from "./PodsParser.js";
 | 
			
		||||
import Pods from "./Pods.js";
 | 
			
		||||
 | 
			
		||||
export default class Processor {
 | 
			
		||||
  process = async ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    try {
 | 
			
		||||
      const { response } = await new AJAX().ajax({
 | 
			
		||||
        input,
 | 
			
		||||
        i2d,
 | 
			
		||||
        extraPodstates,
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      try {
 | 
			
		||||
        const { html } = new PodsParser().parse({
 | 
			
		||||
          input,
 | 
			
		||||
          i2d,
 | 
			
		||||
          extraPodstates,
 | 
			
		||||
          /** @type {any} */
 | 
			
		||||
          response,
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
          new Pods().remove();
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
          console.error(error);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
          new Pods().insert({ html });
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
          console.error(error);
 | 
			
		||||
        }
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        console.error(error);
 | 
			
		||||
      }
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      console.error(error);
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,44 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
import AppID from "./AppID.js";
 | 
			
		||||
 | 
			
		||||
export default class SearchParams {
 | 
			
		||||
  constructor({ getAppID = new AppID().getAppID } = {}) {
 | 
			
		||||
    this.getAppID = getAppID;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  getSearchParams = ({
 | 
			
		||||
    input = String(),
 | 
			
		||||
    i2d = Boolean(),
 | 
			
		||||
    extraPodstates = Array(),
 | 
			
		||||
  } = {}) => {
 | 
			
		||||
    const appid = this.getAppID();
 | 
			
		||||
    return {
 | 
			
		||||
      ...(appid && { appid }),
 | 
			
		||||
      ...(input && { input }),
 | 
			
		||||
      ...(i2d && { i2d }),
 | 
			
		||||
      podstate: [
 | 
			
		||||
        "Step-by-step solution",
 | 
			
		||||
        "Step-by-step",
 | 
			
		||||
        "Show all steps",
 | 
			
		||||
        ...extraPodstates,
 | 
			
		||||
        // Note: extraPodstates must be the last item in the array.
 | 
			
		||||
        // Otherwise, the Wolfram Alpha API may ignore the pod states in extraPodstates.
 | 
			
		||||
      ],
 | 
			
		||||
      output: "json",
 | 
			
		||||
      reinterpret: true,
 | 
			
		||||
      podtimeout: 30,
 | 
			
		||||
      scantimeout: 30,
 | 
			
		||||
      parsetimeout: 30,
 | 
			
		||||
      totaltimeout: 30,
 | 
			
		||||
      formattimeout: 30,
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										51
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/onload.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								docusaurus/static/ajax/libs/wolfree/23.7.8/js/onload.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
 * This file is part of Wolfree.
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// @ts-check
 | 
			
		||||
 | 
			
		||||
export default addEventListener(
 | 
			
		||||
  "load",
 | 
			
		||||
  () => (
 | 
			
		||||
    setTimeout(
 | 
			
		||||
      () =>
 | 
			
		||||
        document
 | 
			
		||||
          .querySelectorAll(
 | 
			
		||||
            "html > body > #__next > div > main > main > div > div > section > form > div > div > input"
 | 
			
		||||
          )
 | 
			
		||||
          .forEach((input) =>
 | 
			
		||||
            input instanceof HTMLInputElement
 | 
			
		||||
              ? input.focus()
 | 
			
		||||
              : console.error({ input })
 | 
			
		||||
          ),
 | 
			
		||||
      1000
 | 
			
		||||
    ),
 | 
			
		||||
    [
 | 
			
		||||
      () =>
 | 
			
		||||
        document
 | 
			
		||||
          .querySelectorAll(
 | 
			
		||||
            'html > body > #__next > div > main > main > div > div > div > section > section > div:is(:first-child) > ul > li'
 | 
			
		||||
          )
 | 
			
		||||
          .forEach(
 | 
			
		||||
            (li) =>
 | 
			
		||||
              li.innerHTML.includes("Step-by-step") &&
 | 
			
		||||
              (li instanceof HTMLElement
 | 
			
		||||
                ? (li.style.display = "none")
 | 
			
		||||
                : console.error({ li }))
 | 
			
		||||
          ),
 | 
			
		||||
      () =>
 | 
			
		||||
        (document.title = document.title.replace(
 | 
			
		||||
          "- Wolfram|Alpha",
 | 
			
		||||
          "- Free Wolfram|Alpha Step-by-step Solution - Wolfree"
 | 
			
		||||
        )),
 | 
			
		||||
    ].forEach(
 | 
			
		||||
      (callback) => (
 | 
			
		||||
        setInterval(callback, 2000), addEventListener("click", callback)
 | 
			
		||||
      )
 | 
			
		||||
    ),
 | 
			
		||||
    scroll(0, 0)
 | 
			
		||||
  )
 | 
			
		||||
);
 | 
			
		||||
							
								
								
									
										41
									
								
								docusaurus/static/instances.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								docusaurus/static/instances.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
{
 | 
			
		||||
  "wolfree": {
 | 
			
		||||
    "clearnet": [
 | 
			
		||||
      "https://wolfree.chickenkiller.com/",
 | 
			
		||||
      "https://wolfree.crabdance.com/",
 | 
			
		||||
      "https://wolfree.gitlab.io/",
 | 
			
		||||
      "https://wolfree.glitch.me/",
 | 
			
		||||
      "https://wolfree.ignorelist.com/",
 | 
			
		||||
      "https://wolfree.jumpingcrab.com/",
 | 
			
		||||
      "https://wolfree.my.to/",
 | 
			
		||||
      "https://wolfree.netlify.app/",
 | 
			
		||||
      "https://wolfree.on.fleek.co/",
 | 
			
		||||
      "https://wolfree.onrender.com/",
 | 
			
		||||
      "https://wolfree.pages.dev/",
 | 
			
		||||
      "https://wolfree.privatedns.org/",
 | 
			
		||||
      "https://wolfree.strangled.net/",
 | 
			
		||||
      "https://wolfree.twilightparadox.com/",
 | 
			
		||||
      "https://wolfree.uk.to/",
 | 
			
		||||
      "https://wolfree.us.to/",
 | 
			
		||||
      "https://wolfreealpha.chickenkiller.com/",
 | 
			
		||||
      "https://wolfreealpha.crabdance.com/",
 | 
			
		||||
      "https://wolfreealpha.gitlab.io/",
 | 
			
		||||
      "https://wolfreealpha.glitch.me/",
 | 
			
		||||
      "https://wolfreealpha.ignorelist.com/",
 | 
			
		||||
      "https://wolfreealpha.jumpingcrab.com/",
 | 
			
		||||
      "https://wolfreealpha.my.to/",
 | 
			
		||||
      "https://wolfreealpha.netlify.app/",
 | 
			
		||||
      "https://wolfreealpha.on.fleek.co/",
 | 
			
		||||
      "https://wolfreealpha.onrender.com/",
 | 
			
		||||
      "https://wolfreealpha.pages.dev/",
 | 
			
		||||
      "https://wolfreealpha.privatedns.org/",
 | 
			
		||||
      "https://wolfreealpha.strangled.net/",
 | 
			
		||||
      "https://wolfreealpha.twilightparadox.com/",
 | 
			
		||||
      "https://wolfreealpha.uk.to/",
 | 
			
		||||
      "https://wolfreealpha.us.to/"
 | 
			
		||||
    ],
 | 
			
		||||
    "tor": [],
 | 
			
		||||
    "i2p": [],
 | 
			
		||||
    "loki": []
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								docusaurus/static/n/v1/api/autocomplete/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								docusaurus/static/n/v1/api/autocomplete/index.html
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								docusaurus/static/n/v1/api/randomizer
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								docusaurus/static/n/v1/api/randomizer
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								docusaurus/static/n/v1/api/sourcer/dataSources
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								docusaurus/static/n/v1/api/sourcer/dataSources
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								docusaurus/static/n/v1/api/sourcer/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								docusaurus/static/n/v1/api/sourcer/index.html
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								docusaurus/static/users/me/account
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								docusaurus/static/users/me/account
									
									
									
									
									
										Normal file
									
								
							
		Reference in New Issue
	
	Block a user