├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ ├── config.yml
│ └── feature_request.yml
├── .gitignore
├── 404.html
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── advanced
├── canvas.html
├── index.html
├── script.js
├── sprites
│ ├── flower.png
│ ├── greenman.png
│ ├── jerry.png
│ └── spaceman.png
└── style.css
├── blockly_editor
├── block_adding.md
├── blockpic.png
├── builtinextensions
│ ├── ai.js
│ ├── barkfetch.js
│ ├── discord.js
│ ├── lua.js
│ ├── randomly.js
│ ├── sine.js
│ └── toolbox_label_e26.js
├── cates
│ ├── advanced.js
│ ├── control.js
│ ├── custom.js
│ ├── functions.js
│ ├── logic.js
│ ├── motion.js
│ ├── sounds.js
│ └── styles.js
├── extension_tutorial.md
├── index.html
├── logo_only.svg
├── oldstuff
│ ├── canvas.html
│ ├── index.html
│ ├── script.js
│ └── style.css
├── project_example.barkf
├── scripts
│ ├── contrast.js
│ ├── custom.js
│ ├── custom_category_es6.js
│ ├── demo_projects.js
│ ├── extensions.js
│ ├── fullscreen.js
│ ├── index.js
│ ├── p5.min.js
│ ├── sketch.js
│ ├── uploader.js
│ └── waitfor.js
├── toolbox.xml
├── toolbox_style.css
└── uploader.css
├── contact.md
├── devserver
└── development.js
├── documentation
├── content
│ ├── API.md
│ ├── Add a new block.md
│ ├── Advanced editor.md
│ ├── Badges.md
│ ├── Contributing.md
│ ├── Create an extension.md
│ ├── History.md
│ ├── Making themes.md
│ ├── README.md
│ └── _sidebar.md
└── docsify
│ ├── index.js
│ └── theme
│ └── theme.css
├── favicon.ico
├── index.html
├── index.js
├── package-lock.json
├── package.json
├── pages
├── about.html
├── banned.html
├── contact.html
├── contributors.html
├── create.html
├── credits.html
├── discord.html
├── discordbot.html
├── docs.html
├── donatemembers.html
├── donates.html
├── download.html
├── explore.html
├── external.html
├── form.html
├── generate.html
├── hiring.html
├── ideas.html
├── login.html
├── lua.html
├── mail.html
├── more.html
├── newproject.html
├── profile.html
├── profilesettings.html
├── reportuser.html
├── search.html
├── settings.html
├── signedup.html
├── signup.html
├── special.html
├── terminal.html
├── tos.html
├── uploadproject.html
└── users.html
├── robots.txt
├── settings
├── settings.js
└── styles.css
├── special
├── README.md
└── logout.html
├── src
├── Bazin.ttf
├── bark.mp3
├── css
│ ├── colors.css
│ ├── contr
│ │ ├── error.css
│ │ ├── grid.css
│ │ ├── list.css
│ │ └── slideshow.css
│ ├── img-library.css
│ └── main.css
├── emojis
│ ├── svg
│ │ ├── dev
│ │ │ ├── dumo.svg
│ │ │ ├── mariocraft.svg
│ │ │ ├── nmsderp.svg
│ │ │ ├── qwertyy.png
│ │ │ └── rubiidev.svg
│ │ ├── joke
│ │ │ ├── amongus.svg
│ │ │ ├── mewing.svg
│ │ │ └── skibidi.svg
│ │ └── normal
│ │ │ ├── actingSus.svg
│ │ │ ├── alien.svg
│ │ │ ├── amazed.svg
│ │ │ ├── angry.svg
│ │ │ ├── barklogo.svg
│ │ │ ├── blank.svg
│ │ │ ├── clap.svg
│ │ │ ├── clap_anim.gif
│ │ │ ├── cooldude.svg
│ │ │ ├── devilLike.svg
│ │ │ ├── dizzy.svg
│ │ │ ├── evil.svg
│ │ │ ├── fire.svg
│ │ │ ├── goofy.svg
│ │ │ ├── happy.svg
│ │ │ ├── itsyou.svg
│ │ │ ├── jealous.svg
│ │ │ ├── joyful.svg
│ │ │ ├── loading.svg
│ │ │ ├── lol.svg
│ │ │ ├── mad.svg
│ │ │ ├── moneyEyes.svg
│ │ │ ├── nerd.svg
│ │ │ ├── oksign.svg
│ │ │ ├── panic.svg
│ │ │ ├── peace.svg
│ │ │ ├── pride.svg
│ │ │ ├── raiseEyebrow.svg
│ │ │ ├── robot.svg
│ │ │ ├── rofl.svg
│ │ │ ├── sad.svg
│ │ │ ├── santa.svg
│ │ │ ├── shrug.svg
│ │ │ ├── smallsmile.svg
│ │ │ ├── smiley.svg
│ │ │ ├── sussedOut.svg
│ │ │ ├── textHappy.svg
│ │ │ ├── thumb.svg
│ │ │ └── troll.svg
│ └── syntax.md
├── fonts
│ ├── Ipix.ttf
│ ├── Ipixsequel.ttf
│ └── gg_sans.ttf
├── images
│ ├── Bark.svg
│ ├── assets
│ │ ├── 404.png
│ │ ├── Logo-V2.svg
│ │ ├── PM-gg(old).svg
│ │ ├── add_to_textarea
│ │ │ ├── bold.png
│ │ │ ├── clip.png
│ │ │ ├── font.png
│ │ │ └── italic.png
│ │ ├── badges
│ │ │ ├── b_booster.png
│ │ │ ├── b_bruh.png
│ │ │ ├── b_camera.png
│ │ │ ├── b_dev.png
│ │ │ ├── b_dog.png
│ │ │ ├── b_doooo.png
│ │ │ ├── b_explore.png
│ │ │ ├── b_juggler.png
│ │ │ ├── b_lucky.png
│ │ │ ├── b_og.png
│ │ │ ├── b_vet.png
│ │ │ ├── b_waad.png
│ │ │ ├── b_webmaster.png
│ │ │ ├── b_webspider.png
│ │ │ ├── b_yt.png
│ │ │ └── b_yt_yellow.png
│ │ ├── blocks.png
│ │ ├── build.png
│ │ ├── buttons
│ │ │ ├── banner1.png
│ │ │ ├── banner2.png
│ │ │ └── banner3.png
│ │ ├── category.png
│ │ ├── creativity.svg
│ │ ├── dropdown.png
│ │ ├── dumo-88x31.png
│ │ ├── earth.png
│ │ ├── extension
│ │ │ ├── ai.png
│ │ │ ├── barkblocks.png
│ │ │ ├── barkfetch.png
│ │ │ ├── custom.png
│ │ │ ├── discord.png
│ │ │ ├── lua.png
│ │ │ ├── randomly.png
│ │ │ └── sine.png
│ │ ├── flair
│ │ │ └── earth.gif
│ │ ├── gameengine_assets
│ │ │ ├── add_button_button.png
│ │ │ ├── add_image_button.png
│ │ │ ├── add_object_button.png
│ │ │ ├── add_particles_button.png
│ │ │ ├── add_player_button.png
│ │ │ ├── add_script_button.png
│ │ │ ├── add_sp_button.png
│ │ │ ├── add_text_button.png
│ │ │ └── add_var_button.png
│ │ ├── other
│ │ │ ├── brain-meme-you-did-not-have-to-cut-me-off.gif
│ │ │ ├── cashapp_logo.png
│ │ │ ├── construction.gif
│ │ │ ├── dog_vibe.gif
│ │ │ ├── rick.png
│ │ │ ├── script(1).png
│ │ │ ├── servertrouble.png
│ │ │ ├── share_button.gif
│ │ │ ├── turbowarp.png
│ │ │ └── wrench.png
│ │ ├── pixel
│ │ │ ├── present.png
│ │ │ └── tree.png
│ │ ├── snail-IDE.svg
│ │ └── version-1.0.png
│ ├── dog
│ │ ├── construction.svg
│ │ ├── happy.svg
│ │ ├── idle.svg
│ │ ├── penguinAndBark.svg
│ │ ├── scratch_dog.png
│ │ ├── server.svg
│ │ ├── shakeonit.svg
│ │ └── umm.svg
│ ├── logos
│ │ ├── brown.png
│ │ ├── christmas.png
│ │ ├── halloween.png
│ │ ├── normal.png
│ │ ├── old
│ │ │ ├── Logo.svg
│ │ │ ├── Logo_christmas.svg
│ │ │ ├── Logo_docs.svg
│ │ │ └── Logo_halloween.svg
│ │ └── valentine.png
│ ├── other
│ │ └── snowman.png
│ └── sprites
│ │ └── Jerri.png
├── json
│ ├── badges.json
│ ├── credits.json
│ └── tips.json
├── projecttoolbar
│ ├── maximize.svg
│ ├── minimize.svg
│ ├── pause.svg
│ ├── paused.svg
│ ├── run.svg
│ ├── running.svg
│ ├── stop.svg
│ └── stopped.svg
├── scripts
│ ├── admin.js
│ ├── flair.js
│ ├── githubContributors.js
│ ├── injector.js
│ ├── language.js
│ ├── multi-language.js
│ ├── publish.js
│ ├── publish.txt
│ ├── replacer.js
│ └── usernameGen.js
├── themes
│ ├── bluedodger.css
│ ├── browndodger.css
│ ├── cherryblossom.css
│ ├── classic.css
│ ├── frog.css
│ ├── pranidhi.css
│ ├── profprog.css
│ ├── shelledgastropod.css
│ ├── spink.css
│ └── webalgic.css
├── translations
│ ├── ar.json
│ ├── ch.json
│ ├── en.json
│ ├── it.json
│ └── languages.json
└── videos
│ └── signin_tutorial.gif
├── static
├── Example.png
├── Mister Humming Bird.m4a
├── Tretre.wav
├── bad.txt
├── costume1.svg
├── costume2.svg
├── credits.html
├── credits.txt
├── dachshund.svg
├── discovery.md
├── editorscript.png
├── feedback.txt
├── goofy404.html
├── home.html
├── homepage.png
├── icon.ico
├── lua
│ ├── fengari.js
│ └── style.css
├── randomlyBlocks.js
├── sine.json
├── stickman.svg
├── teacherRegister.html
├── test-ext.png
├── test1-RotatingDog.html
├── testing.html
├── todolist.txt
└── version-1.0.png
└── vercel.json
/.github/ISSUE_TEMPLATE/bug_report.yml:
--------------------------------------------------------------------------------
1 | name: Report a bug
2 | title: "[BUG] ..."
3 | description: Create a report to help us improve Bark.
4 | labels: ["bug", "problem"]
5 | body:
6 | - type: markdown
7 | attributes:
8 | value: "## Thanks for filling out this report!"
9 |
10 | - type: checkboxes
11 | id: os
12 | attributes:
13 | label: Operating System
14 | description: "What operating system(s) are you seeing this problem on?"
15 | options:
16 | - label: Android/ChromeOS
17 | - label: iOS
18 | - label: Linux
19 | - label: Mac
20 | - label: Windows
21 | - label: Other
22 | validations:
23 | required: true
24 |
25 | - type: checkboxes
26 | id: browsers
27 | attributes:
28 | label: Browser(s)
29 | description: "What browsers(s) are you seeing this problem on?"
30 | options:
31 | - label: Arc
32 | - label: Chrome
33 | - label: Firefox
34 | - label: Internet (Galaxy)
35 | - label: Microsoft Edge
36 | - label: Opera
37 | - label: Brave
38 | - label: Safari
39 | - label: Other
40 | validations:
41 | required: true
42 |
43 | - type: markdown
44 | attributes:
45 | value: "_If you are using Internet Explorer, please switch to a modern browser before filling out this report._"
46 |
47 | - type: textarea
48 | id: happened
49 | attributes:
50 | label: What happened
51 | description: "Tell us, step by step, how you got this behavior to happen."
52 | validations:
53 | required: true
54 |
55 | - type: textarea
56 | id: expected
57 | attributes:
58 | label: Expected Behavior
59 | description: "What did you expect?"
60 | validations:
61 | required: false
62 |
63 | - type: textarea
64 | id: screenshots
65 | attributes:
66 | label: Screenshots
67 | description: "If possible, add screenshots of the bug."
68 | validations:
69 | required: false
70 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: true
2 | contact_links:
3 | - name: For feature requests
4 | url: https://github.com/mariocraft987/bark-coding/discussions
5 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.yml:
--------------------------------------------------------------------------------
1 | name: Feature Request
2 | title: "[FEAT] ..."
3 | description: Suggest an idea for this project.
4 | labels: ["enhancement", "suggestion"]
5 | body:
6 | - type: markdown
7 | attributes:
8 | value: "## Thanks for filling this out!"
9 |
10 | - type: textarea
11 | id: describe
12 | attributes:
13 | label: Related to a problem
14 | description: "Is your feature request related to a problem? Please describe."
15 | validations:
16 | required: false
17 |
18 | - type: textarea
19 | id: solution
20 | attributes:
21 | label: Your Solution
22 | description: "A clear and concise description of what you want to happen."
23 | validations:
24 | required: true
25 |
26 | - type: textarea
27 | id: alternatives
28 | attributes:
29 | label: Alternatives
30 | description: "Describe alternatives you've considered."
31 | validations:
32 | required: false
33 |
34 | - type: textarea
35 | id: additional
36 | attributes:
37 | label: Additional Context
38 | description: "Add any other context or screenshots about the feature request here."
39 | validations:
40 | required: false
41 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | bun.lockb
--------------------------------------------------------------------------------
/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Error 404
8 |
9 |
10 |
11 |
12 |
13 |
14 | We could not find the page you were looking for.
The reasons why this page might display the error is:
15 |
16 | - page doesn't exist
17 | - mispelled URL
18 | - page has been removed
19 | - page has been moved to a new location.
20 |
21 |
23 |
24 |
25 |
26 |
27 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to Contribute to Bark?
2 | *Using AI to create commits is no longer permitted. If you need to use AI for anything here, we probably don't need your contribution. **This applies to members of the Bark Team as well.***
3 | ## Have you found a bug?
4 | - Before creating an issue, please use the search bar on the [issues](https://github.com/mariocraft987/bark.github.io/issues) tab to make sure you don't create a duplicate.
5 | - If there are no issues with the same bug, [open a new one](https://github.com/mariocraft987/bark.github.io/issues/new).
6 | - Make sure to include a clear and concise title and description.
7 | - If possible, tell us how to re-create the bug.
8 |
9 | All issues and pull requests should conform to the [Code of Conduct](https://github.com/mariocraft987/bark.github.io/blob/main/CODE_OF_CONDUCT.md).
10 | ## Have you created a patch or upgrade to Bark?
11 | - Open a new pull request on the branch.
12 | - Make sure the description identifies the patch/upgrade clearly.
13 | - If possible, include a link to the issue addressing the now fixed bug.
14 |
15 | All issues and pull requests should conform to the [Code of Conduct](https://github.com/mariocraft987/bark.github.io/blob/main/CODE_OF_CONDUCT.md).
16 |
17 | # Jobs
18 | ## We're hiring QA's!
19 | Comment "I would like to be a QA!" here if you would like to get a job as a QA at Bark.
20 | ### Requirements:
21 | - Must know how to open an issue
22 | - Please make sure you don't make a duplicate issue
23 | ## We're Also hiring contributers!
24 | Comment "I would like to be a contributer!" here then state your reason you could help, then fork the rep then create a pull request to show us what you got!
25 | ### Requirements:
26 | - Must know decent HTML and Javascript
27 | - You must know the tools of Github
28 | ## We're Also hiring A/B Testers!
29 | Comment "I would like to be a A/B tester!" here if you would like to get a job as a AB tester at Bark.
30 | ### Requirements:
31 | - Must know how to open an issue, pull request and create a fork
32 | - Please make sure you don't make a duplicate pr or issue.
33 |
34 |
35 | Thanks,
The Bark Team
36 |
--------------------------------------------------------------------------------
/advanced/sprites/flower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cytrinc/bark-coding/8abd88c3e8e31658de377dbb00648747af8aa586/advanced/sprites/flower.png
--------------------------------------------------------------------------------
/advanced/sprites/greenman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cytrinc/bark-coding/8abd88c3e8e31658de377dbb00648747af8aa586/advanced/sprites/greenman.png
--------------------------------------------------------------------------------
/advanced/sprites/jerry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cytrinc/bark-coding/8abd88c3e8e31658de377dbb00648747af8aa586/advanced/sprites/jerry.png
--------------------------------------------------------------------------------
/advanced/sprites/spaceman.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cytrinc/bark-coding/8abd88c3e8e31658de377dbb00648747af8aa586/advanced/sprites/spaceman.png
--------------------------------------------------------------------------------
/blockly_editor/block_adding.md:
--------------------------------------------------------------------------------
1 | # Making Blocks
2 | ### This tutorial was written by @nmsderp, feel free to add more if needed
3 | *NOTE: Making blocks requires basic knowledge of xml, and some decent knowledge of JavaScript*
4 |
5 | *NOTE 2: IT WILL MAKE YOUR LIFE EASIER TO USE BLOCKLY BLOCK FACTORY: [Block Factory](https://blockly-demo.appspot.com/static/demos/blockfactory/index.html)*
6 |
7 | *NOTE 3: if you wanna request blocks for us to make, create a discussion in Block Requests and we will make it if ideas are good.*
8 |
9 | First we need to design our block, the block code may look like this:
10 | ```javascript
11 | Blockly.Blocks['movement_move'] = { // Moves sprite
12 | init: function() {
13 | this.jsonInit({
14 | "type": "movement_move", // Block Id
15 | "message0": "move", // Block text
16 | "previousStatement": null,
17 | "nextStatement": null,
18 | "colour": 230, // Block color
19 | "tooltip": "", // Block tip
20 | "helpUrl": "" // Block help URL
21 | });
22 | }
23 | };
24 | ```
25 | Then we add the block design to `custom.js`,
26 | After that we need to add it to the toolbox in `editor/`
27 | ```xml
28 |
29 | 3
30 |
31 | ```
32 | In Blockly code is ran with generators, in our code we have to define what the blocks do:
33 | ```javascript
34 | javascript.javascriptGenerator.forBlock['change_stage_bg'] = function(block, generator) {
35 | let colorValue = block.getFieldValue('NAME');
36 | return "changebg('" + colorValue + "');";
37 | };
38 | ```
39 | *TIP: By using block.getFieldValue('value name here'); you can get values from the blocks!*
40 |
41 | Almost all functions for the new blocks are located inside of `sketch.js` this is basically the vm of this project. An example is below.
42 | ```javascript
43 | function changebg(color) {
44 | // Set the background color to the provided color
45 | bgColor = color;
46 | }
47 | ```
48 | after that the block is now in the blockbar!
49 |
50 | 
51 |
52 | *Last updated April 19th, 2024*
53 |
54 |
57 |
--------------------------------------------------------------------------------
/blockly_editor/blockpic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cytrinc/bark-coding/8abd88c3e8e31658de377dbb00648747af8aa586/blockly_editor/blockpic.png
--------------------------------------------------------------------------------
/blockly_editor/builtinextensions/barkfetch.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['fetch_user'] = {
2 | init: function() {
3 | this.appendDummyInput()
4 | .appendField("Get Bark User")
5 | .appendField(new Blockly.FieldTextInput("BlueOrange"), "USER")
6 | .appendField(new Blockly.FieldDropdown([["Username","NAME"], ["Pfp in Data URI","PFP"], ["Bio","BIO"], ["Is Bark team?","TEAM"]]), "TYPE");
7 | this.setOutput(true, "String");
8 | this.setColour(30);
9 | this.setTooltip("Fetches the Bark user's data");
10 | this.setHelpUrl("");
11 | }
12 | };
13 |
14 | Blockly.Blocks['api_working'] = {
15 | init: function() {
16 | this.appendDummyInput()
17 | .appendField("Is API Working?");
18 | this.setOutput(true, "Boolean");
19 | this.setColour(30);
20 | this.setTooltip("BAPIV2 working?");
21 | this.setHelpUrl("https://github.com/dumorando/bapiv2/");
22 | }
23 | };
24 |
25 | let barkapiCategory = Bark.CreateCategory("Bark API", "#ffa538");
26 | barkapiCategory.addBlock(Bark.CreateBlock("fetch_user"));
27 | barkapiCategory.addBlock(Bark.CreateBlock("api_working"));
28 |
29 | Bark.AppendCategoryToToolbox(barkapiCategory);
30 |
--------------------------------------------------------------------------------
/blockly_editor/builtinextensions/discord.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['db_run'] = {
2 | init: function() {
3 | this.appendDummyInput()
4 | .appendField("run discord bot with token:")
5 | .appendField(new Blockly.FieldTextInput("token"), "TOKEN")
6 | .appendField("cmd prefix")
7 | .appendField(new Blockly.FieldTextInput("!"), "CP");
8 | this.appendStatementInput("NAME")
9 | .setCheck(null);
10 | this.setColour(345);
11 | this.setTooltip("");
12 | this.setHelpUrl("");
13 | }
14 | };
15 |
16 | Blockly.Blocks['db_cmd'] = {
17 | init: function() {
18 | this.appendDummyInput()
19 | .appendField("bot command:")
20 | .appendField(new Blockly.FieldTextInput("ping"), "CMD");
21 | this.appendStatementInput("NAME")
22 | .setCheck(null);
23 | this.setPreviousStatement(true, null);
24 | this.setNextStatement(true, null);
25 | this.setColour(45);
26 | this.setTooltip("");
27 | this.setHelpUrl("");
28 | }
29 | };
30 |
31 | Blockly.Blocks['db_send'] = {
32 | init: function() {
33 | this.appendValueInput("TEXT")
34 | .setCheck(null)
35 | .appendField("send");
36 | this.setPreviousStatement(true, null);
37 | this.setNextStatement(true, null);
38 | this.setColour(45);
39 | this.setTooltip("");
40 | this.setHelpUrl("");
41 | }
42 | };
43 |
44 | Blockly.Blocks['db_send'] = {
45 | init: function() {
46 | this.appendValueInput("TEXT")
47 | .setCheck(null)
48 | .appendField("send");
49 | this.setPreviousStatement(true, null);
50 | this.setNextStatement(true, null);
51 | this.setColour(45);
52 | this.setTooltip("");
53 | this.setHelpUrl("");
54 | }
55 | };
56 |
57 | Blockly.Blocks['db_reply'] = {
58 | init: function() {
59 | this.appendValueInput("TEXT")
60 | .setCheck(null)
61 | .appendField("reply");
62 | this.setPreviousStatement(true, null);
63 | this.setNextStatement(true, null);
64 | this.setColour(45);
65 | this.setTooltip("");
66 | this.setHelpUrl("");
67 | }
68 | };
69 |
70 | Blockly.Blocks['db_embed'] = {
71 | init: function() {
72 | this.appendValueInput("TEXT")
73 | .setCheck(null)
74 | .appendField("Text");
75 | this.appendDummyInput();
76 | this.appendValueInput("NAME")
77 | .setCheck(null)
78 | .appendField("embed");
79 | this.setOutput(true, null);
80 | this.setColour(135);
81 | this.setTooltip("");
82 | this.setHelpUrl("");
83 | }
84 | };
85 |
86 | let discordCategory = Bark.CreateCategory("Discord", "#5865f2");
87 |
88 | discordCategory.addBlock(Bark.CreateBlock("db_run"));
89 | discordCategory.addBlock(Bark.CreateBlock("db_cmd"));
90 | discordCategory.addBlock(Bark.CreateBlock("db_send"));
91 | discordCategory.addBlock(Bark.CreateBlock("db_reply"));
92 | discordCategory.addBlock(Bark.CreateBlock("db_embed"));
93 |
94 | Bark.AppendCategoryToToolbox(discordCategory);
95 |
--------------------------------------------------------------------------------
/blockly_editor/builtinextensions/lua.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['print_string'] = {
2 | init: function() {
3 | this.appendValueInput("VAL")
4 | .setCheck("String")
5 | .appendField("print");
6 | this.setPreviousStatement(true, null);
7 | this.setNextStatement(true, null);
8 | this.setColour(255);
9 | this.setTooltip("Prints a variable.");
10 | this.setHelpUrl("");
11 | }
12 | };
13 |
14 | let luaCate = Bark.CreateCategory("Lua", "#007a47");
15 | luaCate.addBlock(Bark.CreateBlock("print_string"));
16 |
17 | Bark.AppendCategoryToToolbox(luaCate);
18 |
--------------------------------------------------------------------------------
/blockly_editor/builtinextensions/randomly.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['change_title'] = {
2 | init: function() {
3 | this.appendDummyInput()
4 | .appendField("Change website title to:")
5 | .appendField(new Blockly.FieldTextInput("Cool title"), "TITLE");
6 | this.setPreviousStatement(true, null);
7 | this.setNextStatement(true, null);
8 | this.setColour(105);
9 | this.setTooltip("Changes the website title");
10 | this.setHelpUrl("");
11 | }
12 | };
13 |
14 | Blockly.Blocks['confirm'] = {
15 | init: function() {
16 | this.appendDummyInput()
17 | .appendField("\"Ok\" button pressed on alert:")
18 | .appendField(new Blockly.FieldTextInput("The dog"), "CONFIRM");
19 | this.setOutput(true, "Boolean");
20 | this.setColour(105);
21 | this.setTooltip("Opens a alert to confirm something.");
22 | this.setHelpUrl("");
23 | }
24 | };
25 |
26 | Blockly.Blocks['prompt'] = {
27 | init: function() {
28 | this.appendDummyInput()
29 | .appendField("Input of:")
30 | .appendField(new Blockly.FieldTextInput("What's your username?"), "ASK")
31 | .appendField("with the default of:")
32 | .appendField(new Blockly.FieldTextInput("Username"), "DEFAULT");
33 | this.setOutput(true, "String");
34 | this.setColour(105);
35 | this.setTooltip("Gives a input to put in a value.");
36 | this.setHelpUrl("");
37 | }
38 | };
39 |
40 | javascript.javascriptGenerator.forBlock['change_title'] = function(block, generator) {
41 | var text_title = block.getFieldValue('TITLE');
42 | var code = `document.title = ${text_title}`;
43 | return code;
44 | };
45 |
46 | javascript.javascriptGenerator.forBlock['confirm'] = function(block, generator) {
47 | var text_confirm = block.getFieldValue('CONFIRM');
48 | var code = `confirm(${CONFIRM})`;
49 | // TODO: Change ORDER_NONE to the correct strength.
50 | return [code, Blockly.javascript.ORDER_NONE];
51 | };
52 |
53 | javascript.javascriptGenerator.forBlock['prompt'] = function(block, generator) {
54 | var text_ask = block.getFieldValue('ASK');
55 | var text_default = block.getFieldValue('DEFAULT');
56 | var code = `prompt(${ASK}, ${DEFAULT})`;
57 | // TODO: Change ORDER_NONE to the correct strength.
58 | return [code, Blockly.javascript.ORDER_NONE];
59 | };
60 |
61 | let randomlyBlocks = Bark.CreateCategory("Randomly", "#07f290");
62 | randomlyBlocks.addBlock(Bark.CreateBlock("change_title"));
63 | randomlyBlocks.addBlock(Bark.CreateBlock("confirm"));
64 | randomlyBlocks.addBlock(Bark.CreateBlock("prompt"));
65 |
66 | Bark.AppendCategoryToToolbox(randomlyBlocks);
67 |
--------------------------------------------------------------------------------
/blockly_editor/builtinextensions/sine.js:
--------------------------------------------------------------------------------
1 |
2 | Blockly.Blocks['sine_move'] = {
3 | init: function () {
4 | this.appendDummyInput()
5 | .appendField("sine wave move y");
6 | this.setPreviousStatement(true, null);
7 | this.setNextStatement(true, null);
8 | this.setColour(180);
9 | this.setTooltip("Sine Moves Sprite by Y");
10 | this.setHelpUrl("https://en.wikipedia.org/wiki/Sine_and_cosine");
11 | }
12 | };
13 | Blockly.Blocks['sine_size'] = {
14 | init: function () {
15 | this.appendDummyInput()
16 | .appendField("sine wave size");
17 | this.setPreviousStatement(true, null);
18 | this.setNextStatement(true, null);
19 | this.setColour(180);
20 | this.setTooltip("Sizes Sprite Using Sine");
21 | this.setHelpUrl("https://en.wikipedia.org/wiki/Sine_and_cosine");
22 | }
23 | };
24 | Blockly.Blocks['sine_move2'] = {
25 | init: function () {
26 | this.appendDummyInput()
27 | .appendField("sine wave move x");
28 | this.setPreviousStatement(true, null);
29 | this.setNextStatement(true, null);
30 | this.setColour(180);
31 | this.setTooltip("Sine Moves Sprite By X");
32 | this.setHelpUrl("https://en.wikipedia.org/wiki/Sine_and_cosine");
33 | }
34 | };
35 |
36 | javascript.javascriptGenerator.forBlock['sine_move'] = function (block, generator) {
37 | return "sineMove();";
38 | };
39 | javascript.javascriptGenerator.forBlock['sine_move2'] = function (block, generator) {
40 | return "sineMove2();";
41 | };
42 | javascript.javascriptGenerator.forBlock['sine_size'] = function (block, generator) {
43 | return "sizeOscillation();";
44 | };
45 |
46 | let sineCategory = Bark.CreateCategory("Sine", "#19b9c2");
47 | sineCategory.addBlock(Bark.CreateBlock("sine_move"));
48 | sineCategory.addBlock(Bark.CreateBlock("sine_move2"));
49 | sineCategory.addBlock(Bark.CreateBlock("sine_size"));
50 |
51 | Bark.AppendCategoryToToolbox(sineCategory);
52 |
--------------------------------------------------------------------------------
/blockly_editor/builtinextensions/toolbox_label_e26.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2020 Google LLC
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | /**
8 | * @fileoverview The toolbox label built during the custom toolbox codelab, in es6.
9 | * @author aschmiedt@google.com (Abby Schmiedt)
10 | */
11 |
12 | class ToolboxLabel extends Blockly.ToolboxItem {
13 | /**
14 | * Constructor for a label in the toolbox.
15 | * @param {!Blockly.utils.toolbox.ToolboxItemInfo} toolboxItemDef The toolbox
16 | * item definition. This comes directly from the toolbox definition.
17 | * @param {!Blockly.IToolbox} parentToolbox The toolbox that holds this
18 | * toolbox item.
19 | * @override
20 | */
21 | constructor(toolboxItemDef, parentToolbox) {
22 | super(toolboxItemDef, parentToolbox);
23 | /**
24 | * The button element.
25 | * @type {?HTMLLabelElement}
26 | */
27 | this.label = null;
28 | }
29 |
30 | /**
31 | * Init method for the label.
32 | * @override
33 | */
34 | init() {
35 | // Create the label.
36 | this.label = document.createElement('label');
37 | // Set the name.
38 | this.label.textContent = this.toolboxItemDef_['name'];
39 | // Set the color.
40 | this.label.style.color = this.toolboxItemDef_['colour'];
41 | // Any attributes that begin with css- will get added to a cssconfig.
42 | const cssConfig = this.toolboxItemDef_['cssconfig'];
43 | // Add the class.
44 | if (cssConfig) {
45 | this.label.classList.add(cssConfig['label']);
46 | }
47 | }
48 |
49 | /**
50 | * Gets the div for the toolbox item.
51 | * @returns {HTMLLabelElement} The label element.
52 | * @override
53 | */
54 | getDiv() {
55 | return this.label;
56 | }
57 | }
58 |
59 | Blockly.registry.register(
60 | Blockly.registry.Type.TOOLBOX_ITEM,
61 | 'toolboxlabel',
62 | ToolboxLabel,
63 | );
--------------------------------------------------------------------------------
/blockly_editor/cates/advanced.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['alert_block'] = {
2 | init: function () {
3 | this.appendValueInput("message")
4 | .setCheck("String")
5 | .appendField("alert");
6 | this.setPreviousStatement(true, null);
7 | this.setNextStatement(true, null);
8 | this.setColour(150);
9 | this.setTooltip("Alert message to user");
10 | this.setHelpUrl("");
11 | }
12 | };
13 |
14 | Blockly.Blocks['letters_from'] = {
15 | init: function() {
16 | this.appendValueInput("NAME")
17 | .setCheck(null)
18 | .appendField("letters from")
19 | .appendField(new Blockly.FieldNumber(0, 0, 999), "FIRST")
20 | .appendField("to")
21 | .appendField(new Blockly.FieldNumber(5, 0, 999), "LAST")
22 | .appendField("of");
23 | this.setOutput(true, "String");
24 | this.setColour(165);
25 | this.setTooltip("Returns the string from 2 number inputs in a variable.");
26 | this.setHelpUrl("https://scratch.mit.edu/users/legoer3/#comments");
27 | }
28 | };
29 |
30 | Blockly.Blocks['confirm_block'] = {
31 | init: function () {
32 | this.appendValueInput("message")
33 | .setCheck("String")
34 | .appendField("confirm");
35 | this.setOutput(true, "Boolean");
36 | this.setColour(150);
37 | this.setTooltip("Let user comfirm if a message is true");
38 | this.setHelpUrl("");
39 | }
40 | };
41 | Blockly.Blocks['prompt_block'] = {
42 | init: function () {
43 | this.appendValueInput("message")
44 | .setCheck(null)
45 | .appendField("prompt");
46 | this.setOutput(true, "String");
47 | this.setColour(150);
48 | this.setTooltip("Make the user answer a query");
49 | this.setHelpUrl("");
50 | }
51 | };
52 |
53 | Blockly.Blocks['fetch'] = {
54 | init: function () {
55 | this.appendValueInput("url")
56 | .setCheck("String")
57 | .appendField("fetch");
58 | this.setOutput(true, null);
59 | this.setColour(150);
60 | this.setTooltip("Fetch static data from servers!");
61 | this.setHelpUrl("");
62 | }
63 | };
64 |
--------------------------------------------------------------------------------
/blockly_editor/cates/control.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['forever'] = {
2 | init: function () {
3 | this.appendDummyInput()
4 | .appendField("forever");
5 | this.appendStatementInput("NAME")
6 | .setCheck(null)
7 | .appendField("do");
8 | this.setPreviousStatement(true, null);
9 | this.setColour(120);
10 | this.setTooltip("Does code forever.");
11 | this.setHelpUrl("");
12 | }
13 | };
14 |
--------------------------------------------------------------------------------
/blockly_editor/cates/custom.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['test_block'] = {
2 | init: function() {
3 | this.appendDummyInput()
4 | .appendField("Lorem lpsum...");
5 | this.setPreviousStatement(true, null);
6 | this.setNextStatement(true, null);
7 | this.setColour(230);
8 | this.setTooltip("A test block, won't work.");
9 | this.setHelpUrl("");
10 | }
11 | };
12 |
13 | Blockly.Blocks['end_block'] = {
14 | init: function() {
15 | this.appendDummyInput()
16 | .appendField("End");
17 | this.setPreviousStatement(true, null);
18 | this.setColour(330);
19 | this.setTooltip("A more organized way of ending your scripts.");
20 | this.setHelpUrl("");
21 | }
22 | };
23 |
24 | Blockly.Blocks['random_dorito'] = {
25 | init: function() {
26 | this.appendDummyInput()
27 | .appendField("DORITOS")
28 | .appendField(new Blockly.FieldImage("https://bark.dumorando.com/src/emojis/svg/normal/smiley.svg", 20, 20, { alt: ":)", flipRtl: "FALSE" }));
29 | this.setPreviousStatement(true, null);
30 | this.setNextStatement(true, null);
31 | this.setColour(90);
32 | this.setTooltip("idk");
33 | this.setHelpUrl("");
34 | }
35 | };
36 |
37 | Blockly.Blocks['reapete'] = {
38 | init: function() {
39 | this.appendStatementInput("NAME")
40 | .setCheck(null)
41 | .appendField("Start when \"∞\" ends");
42 | this.setColour(45);
43 | this.setTooltip("Starts the code until \"∞\" ends.");
44 | this.setHelpUrl("https://www.youtube.com/watch?v=j98suMfW1tc");
45 | }
46 | };
47 |
48 | Blockly.Blocks['bruh_wait'] = {
49 | init: function() {
50 | this.appendDummyInput()
51 | .appendField("wait for")
52 | .appendField(new Blockly.FieldNumber(0, 0), "NAME")
53 | .appendField("secs");
54 | this.setPreviousStatement(true, null);
55 | this.setNextStatement(true, null);
56 | this.setColour(195);
57 | this.setTooltip("Waits for a specific time.");
58 | this.setHelpUrl("");
59 | }
60 | };
61 |
62 | Blockly.Blocks['custom_onstop'] = {
63 | init: function() {
64 | this.appendDummyInput()
65 | .appendField("when")
66 | .appendField(new Blockly.FieldImage("https://bark.dumorando.com/src/projecttoolbar/stopped.svg", 25, 25, { alt: "*", flipRtl: "FALSE" }))
67 | .appendField("clicked");
68 | this.appendStatementInput("start")
69 | .setCheck(null);
70 | this.setColour(20);
71 | this.setTooltip("Does the code when the stop button is clicked.");
72 | this.setHelpUrl("");
73 | }
74 | };
75 |
--------------------------------------------------------------------------------
/blockly_editor/cates/functions.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['onreturn'] = {
2 | init: function() {
3 | this.appendValueInput("NAME")
4 | .setCheck(null)
5 | .appendField("return");
6 | this.setPreviousStatement(true, null);
7 | this.setColour(315);
8 | this.setTooltip("Returns a value");
9 | this.setHelpUrl("");
10 | }
11 | };
12 | Blockly.Blocks['onfunction'] = {
13 | init: function() {
14 | this.appendDummyInput()
15 | .appendField("on function")
16 | .appendField(new Blockly.FieldTextInput("move"), "FUNC");
17 | this.appendStatementInput("NAME")
18 | .setCheck(null)
19 | .appendField("do");
20 | this.setColour(315);
21 | this.setTooltip("Code of a function of the chosen name");
22 | this.setHelpUrl("https://www.w3schools.com/js/js_functions.asp");
23 | }
24 | };
25 | Blockly.Blocks['dofunction'] = {
26 | init: function() {
27 | this.appendDummyInput()
28 | .appendField("do function")
29 | .appendField(new Blockly.FieldTextInput("move"), "FUNC");
30 | this.setPreviousStatement(true, null);
31 | this.setNextStatement(true, null);
32 | this.setColour(315);
33 | this.setTooltip("Does a function of the chosen name");
34 | this.setHelpUrl("https://www.w3schools.com/js/js_functions.asp");
35 | }
36 | };
37 |
--------------------------------------------------------------------------------
/blockly_editor/cates/logic.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['onstart'] = {
2 | init: function () {
3 | this.appendDummyInput()
4 | .appendField("when")
5 | .appendField(new Blockly.FieldImage("/src/projecttoolbar/run.svg", 25, 25, { alt: "*", flipRtl: "FALSE" }))
6 | .appendField("clicked");
7 | this.appendStatementInput("start")
8 | .setCheck(null)
9 | .appendField("do");
10 | this.setColour(20);
11 | this.setTooltip("Does the code when the green button is clicked.");
12 | this.setHelpUrl("");
13 | }
14 | };
15 |
16 | Blockly.Blocks['logic_keypressed'] = {
17 | init: function () {
18 | this.appendDummyInput()
19 | .appendField("if")
20 | .appendField(new Blockly.FieldDropdown([["Any key", "ANY"], ["Up arrow key", "UP"], ["Down arrow key", "DOWN"], ["Left arrow key", "LEFT"], ["Right arrow key", "RIGHT"], ["Enter key", "ENTER"], ["Shift key", "SHIFT"]]), "NAME")
21 | .appendField("pressed");
22 | this.setOutput(true, "Boolean");
23 | this.setColour(210);
24 | this.setTooltip("Returns if a specific key is pressed.");
25 | this.setHelpUrl("https://en.scratch-wiki.info/wiki/Key_()_Pressed%3F_(block)");
26 | }
27 | };
28 |
29 | Blockly.Blocks['logic_mousedown'] = {
30 | init: function() {
31 | this.appendDummyInput()
32 | .appendField("mouse down?");
33 | this.setOutput(true, "Boolean");
34 | this.setColour(210);
35 | this.setTooltip("If mouse downs, returns True.");
36 | this.setHelpUrl("https://en.scratch-wiki.info/wiki/Mouse_Down%3F_(block)");
37 | }
38 | };
39 |
40 | Blockly.Blocks['logic_this'] = {
41 | init: function() {
42 | this.appendDummyInput()
43 | .appendField("this");
44 | this.setOutput(true, null);
45 | this.setColour(210);
46 | this.setTooltip("Returns what sprite the script is running in.");
47 | this.setHelpUrl("");
48 | }
49 | };
50 |
51 | Blockly.Blocks['logic_this'] = {
52 | init: function() {
53 | this.appendDummyInput()
54 | .appendField("This");
55 | this.setOutput(true, null);
56 | this.setColour(210);
57 | this.setTooltip("Returns what sprite the script is running in.");
58 | this.setHelpUrl("");
59 | }
60 | };
61 |
62 | Blockly.Blocks['current_user'] = {
63 | init: function() {
64 | this.appendDummyInput()
65 | .appendField("current user");
66 | this.setOutput(true, null);
67 | this.setColour(210);
68 | this.setTooltip("");
69 | this.setHelpUrl("Returns the account the user is in.");
70 | }
71 | };
72 |
--------------------------------------------------------------------------------
/blockly_editor/cates/sounds.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['play_sound'] = {
2 | init: function() {
3 | this.appendDummyInput()
4 | .appendField("Play sound from sound #")
5 | .appendField(new Blockly.FieldNumber(1), "NAME");
6 | this.setPreviousStatement(true, null);
7 | this.setNextStatement(true, null);
8 | this.setColour(345);
9 | this.setTooltip("Plays sound by the typed in URL.");
10 | this.setHelpUrl("");
11 | }
12 | };
13 |
14 | Blockly.Blocks['play_sound_url'] = {
15 | init: function() {
16 | this.appendDummyInput()
17 | .appendField("Play sound by URL")
18 | .appendField(new Blockly.FieldTextInput("https://bark.dumorando.com/src/bark.mp3"), "NAME");
19 | this.setPreviousStatement(true, null);
20 | this.setNextStatement(true, null);
21 | this.setColour(345);
22 | this.setTooltip("Plays sound by the typed in URL.");
23 | this.setHelpUrl("");
24 | }
25 | };
26 |
--------------------------------------------------------------------------------
/blockly_editor/extension_tutorial.md:
--------------------------------------------------------------------------------
1 | # How to make a Bark extension
2 |
3 | First of all, youre gonna want to go to [the Block Factory](https://blockly-demo.appspot.com/static/demos/blockfactory/index.html) to create a block.
4 | After you design your block, youre gonna want to copy the JSON code on the right side of the screen.
5 | Then once you do that, setup a codeblock like this, at the top of your extension file.
6 |
7 | ```js
8 | Blockly.defineBlocksWithJsonArray([
9 | ...your json code goes here...
10 | ]);
11 | ```
12 |
13 | After you do that, setup the Javascript Generator for your block. You can copy the one in Block factory as a starting point.
14 | *You may need to change a few things, like var to let because of linters*
15 | Example:
16 | ```js
17 | javascript.javascriptGenerator.forBlock['block_type'] = function(block, generator) {
18 | var value_name = generator.valueToCode(block, 'NAME', javascript.Order.ATOMIC);
19 | // TODO: Assemble javascript into code variable.
20 | var code = '...\n';
21 | return code;
22 | };
23 | ```
24 | Then, change the Javascript generator to do what you need it to do.
25 | ```js
26 | javascript.javascriptGenerator.forBlock['dumorandoutils_coolblock'] = function(block, generator) {
27 | var value_name = generator.valueToCode(block, 'NAME', javascript.Order.ATOMIC);
28 | // TODO: Assemble javascript into code variable.
29 | var code = `functionthatdoessomethingidk(${value_name});\n`;
30 | return code;
31 | };
32 | ```
33 | After that, you can start creating the extension.
34 | First your gonna want to make a new category. Do that with this code.
35 | ```js
36 | // 1st parameter is name 2nd parameter is color
37 | let myCategory = Bark.CreateCategory("Dumorando utils", "red");
38 | ```
39 | Then, youll wanna add a block to the category
40 | ```js
41 | myCategory.addBlock(Bark.CreateBlock("dumorandoutils_coolblock"));
42 | ```
43 | After you add all your blocks, then add it to the toolbox.
44 | ```js
45 | Bark.AppendCategoryToToolbox(myCategory);
46 | ```
--------------------------------------------------------------------------------
/blockly_editor/project_example.barkf:
--------------------------------------------------------------------------------
1 | bark doesn't support downloading projects yet. :(
2 |
--------------------------------------------------------------------------------
/blockly_editor/scripts/contrast.js:
--------------------------------------------------------------------------------
1 | // All list colors are sorted by order in the category orders
2 |
3 | function contrastBlocks(isone) {
4 | // true = blocks on contrast, false = blocks on normal color
5 |
6 | let normalcolors = ["#cf9100", "#3399ff", "#689c00", "#c7b31c", "#1b85d1", "#21d9b7", "#f2951b", "#f2461b", "#e643d2", "#e643d2", "#0fbd8c", "#a826ff"]
7 |
8 | let contrastcolors = ["#ffce5c", "#8ac4ff", "#c6ff54", "#ffee6b", "#51aced", "#91ffeb", "#ffc170", "#ff8b6e", "#ff94f2", "#e643d2", "#7dfad7", "#d08aff"]
9 |
10 | for (let i = 0; i < 12; i++) {
11 | if (isone == 1) {
12 | document.getElementById("blockly-" + i).style.backgroundColor = contrastcolors[i];
13 | document.getElementById("blockly-" + i + ".label").classList.remove("blocklyTreeLabel");
14 | document.getElementById("blockly-" + i + ".label").classList.add("blocklyTreeLabelContrast");
15 | localStorage.contrast = 1;
16 | } else {
17 | document.getElementById("blockly-" + i).style.backgroundColor = normalcolors[i];
18 | document.getElementById("blockly-" + i + ".label").classList.add("blocklyTreeLabel");
19 | document.getElementById("blockly-" + i + ".label").classList.remove("blocklyTreeLabelContrast");
20 | localStorage.contrast = 0;
21 | }
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/blockly_editor/scripts/custom.js:
--------------------------------------------------------------------------------
1 | Blockly.Blocks['default'] = {
2 | init: function () {
3 | this.appendDummyInput()
4 | .appendField("Block name");
5 | this.setPreviousStatement(true, null);
6 | this.setNextStatement(true, null);
7 | this.setColour(255);
8 | this.setTooltip("lorem ipsum");
9 | this.setHelpUrl("");
10 | }
11 | };
12 | Blockly.Blocks['create_elm'] = {
13 | init: function () {
14 | this.appendEndRowInput()
15 | .setAlign(Blockly.ALIGN_RIGHT)
16 | .appendField("create element")
17 | .appendField(new Blockly.FieldTextInput("dog"), "NAME");
18 | this.setPreviousStatement(true, null);
19 | this.setNextStatement(true, null);
20 | this.setColour(0);
21 | this.setTooltip("Creates an element.");
22 | this.setHelpUrl("");
23 | }
24 | };
25 | Blockly.Blocks['delete_elm'] = {
26 | init: function () {
27 | this.appendEndRowInput()
28 | .setAlign(Blockly.ALIGN_RIGHT)
29 | .appendField("delete element")
30 | .appendField(new Blockly.FieldTextInput("dog"), "NAME");
31 | this.setPreviousStatement(true, null);
32 | this.setNextStatement(true, null);
33 | this.setColour(0);
34 | this.setTooltip("Deletes an element.");
35 | this.setHelpUrl("");
36 | }
37 | };
38 | Blockly.Blocks['get_elm'] = {
39 | init: function () {
40 | this.appendDummyInput()
41 | .appendField("get element")
42 | .appendField(new Blockly.FieldTextInput("dog"), "NAME");
43 | this.setOutput(true, "String");
44 | this.setColour(0);
45 | this.setTooltip("Gets an element by it's name.");
46 | this.setHelpUrl("");
47 | }
48 | };
49 | Blockly.Blocks['custom_forever'] = {
50 | init: function () {
51 | this.appendDummyInput()
52 | .appendField("Forever");
53 | this.setNextStatement(true, null);
54 | this.setColour(300);
55 | this.setTooltip("Does the code when the green button is clicked.");
56 | this.setHelpUrl("");
57 | }
58 | };
59 | Blockly.Blocks['when_barked'] = {
60 | init: function () {
61 | this.appendDummyInput()
62 | .appendField("when barked")
63 | .appendField(new Blockly.FieldImage("https://em-content.zobj.net/source/microsoft/379/dog-face_1f436.png", 20, 20, { alt: "A doggy from Mirosoft!", flipRtl: "FALSE" }));
64 | this.appendStatementInput("WHENBARKED")
65 | .setCheck(null);
66 | this.setColour(20);
67 | this.setTooltip("Detects when you clicked on the \"bark\" block!");
68 | this.setHelpUrl("https://scratch.mit.edu/users/LoganCreatz#comments");
69 | }
70 | };
71 |
--------------------------------------------------------------------------------
/blockly_editor/scripts/custom_category_es6.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2020 Google LLC
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | /**
8 | * @fileoverview The toolbox category built during the custom toolbox codelab, in es6.
9 | * @author aschmiedt@google.com (Abby Schmiedt)
10 | */
11 |
12 | class CustomCategory extends Blockly.ToolboxCategory {
13 | /**
14 | * Constructor for a custom category.
15 | * @override
16 | */
17 | constructor(categoryDef, toolbox, opt_parent) {
18 | super(categoryDef, toolbox, opt_parent);
19 | }
20 |
21 | /**
22 | * Adds the colour to the toolbox.
23 | * This is called on category creation and whenever the theme changes.
24 | * @override
25 | */
26 | addColourBorder_(colour) {
27 | this.rowDiv_.style.borderRadius = '12px';
28 | this.rowDiv_.style.backgroundColor = colour;
29 | this.rowDiv_.style.transition = "0.1s";
30 | }
31 |
32 | /**
33 | * Sets the style for the category when it is selected or deselected.
34 | * @param {boolean} isSelected True if the category has been selected,
35 | * false otherwise.
36 | * @override
37 | */
38 | setSelected(isSelected) {
39 |
40 | }
41 |
42 | /**
43 | * Creates the dom used for the icon.
44 | * @returns {HTMLElement} The element for the icon.
45 | * @override
46 | */
47 | createIconDom_() {
48 | const iconImg = document.createElement('img');
49 | iconImg.src = '/blockly_editor/logo_only.svg';
50 | iconImg.alt = 'Blockly Logo';
51 | iconImg.width = '25';
52 | iconImg.height = '25';
53 | return iconImg;
54 | }
55 | }
56 |
57 | Blockly.registry.register(
58 | Blockly.registry.Type.TOOLBOX_ITEM,
59 | Blockly.ToolboxCategory.registrationName,
60 | CustomCategory,
61 | true,
62 | );
63 |
--------------------------------------------------------------------------------
/blockly_editor/scripts/demo_projects.js:
--------------------------------------------------------------------------------
1 | /*
2 | https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript
3 | */
4 |
5 | function getParameterByName(name, url = window.location.href) {
6 | name = name.replace(/[\[\]]/g, '\\$&');
7 | var regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)'),
8 | results = regex.exec(url);
9 | if (!results) return null;
10 | if (!results[2]) return '';
11 | return decodeURIComponent(results[2].replace(/\+/g, ' '));
12 | }
13 |
14 | let projectType = getParameterByName('project');
15 |
16 | if (projectType != null) { // do nothing if param is not exist
17 | console.log(projectType)
18 | }
--------------------------------------------------------------------------------
/blockly_editor/scripts/extensions.js:
--------------------------------------------------------------------------------
1 | // Bark extension API
2 |
3 | (() => {
4 | "use strict";
5 |
6 | const Bark = {};
7 |
8 | class Category {
9 | constructor(categoryelement) {
10 | this.element = categoryelement;
11 | }
12 |
13 | addBlock(blkclass) {
14 | this.element.appendChild(blkclass.element);
15 | }
16 |
17 | setColor(color) {
18 | this.element.setAttribute('colour', color);
19 | }
20 |
21 | setName(name) {
22 | this.element.setAttribute('name', name);
23 | }
24 | }
25 |
26 | class Block {
27 | constructor(blockid) {
28 | this.element = document.createElement('block');
29 | this.element.setAttribute('type', blockid);
30 | }
31 |
32 | addField(name, defaultvalue) {
33 | const newfield = document.createElement('field');
34 | newfield.setAttribute('name', name);
35 | newfield.innerText = defaultvalue;
36 | this.element.appendChild(newfield);
37 | }
38 | }
39 |
40 | Bark.CreateCategory = (name, color) => {
41 | const category = document.createElement('category');
42 | category.setAttribute('name', name);
43 | category.setAttribute('colour', color);
44 |
45 | return new Category(category);
46 | }
47 |
48 | Bark.CreateBlock = (id) => {
49 | return new Block(id);
50 | }
51 |
52 | Bark.AppendCategoryToToolbox = (category) => {
53 | let toolbox = document.getElementById('toolbox');
54 | toolbox.appendChild(category.element);
55 | window.workspace.updateToolbox(toolbox);
56 | }
57 |
58 | window.Bark = Bark;
59 | })();
--------------------------------------------------------------------------------
/blockly_editor/scripts/fullscreen.js:
--------------------------------------------------------------------------------
1 | let isFullScreen = true
2 |
3 | function NewtoggleFullscreen() {
4 | if (isFullScreen == true) { // checks if fullscreen is true
5 | document.getElementById("blocklyDiv").style.display = "block";
6 | document.getElementById("xysize").style.display = "block";
7 | document.getElementById("editortabs").style.display = "block";
8 | document.getElementById("defaultCanvas0").style.width = "640px"
9 | document.getElementById("defaultCanvas0").style.height = "360px"
10 | isFullScreen = false
11 | }else{
12 | document.getElementById("blocklyDiv").style.display = "none";
13 | document.getElementById("xysize").style.display = "none";
14 | document.getElementById("editortabs").style.display = "none";
15 | document.getElementById("defaultCanvas0").style.width = "710px"
16 | document.getElementById("defaultCanvas0").style.height = "430px"
17 | isFullScreen = true
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/blockly_editor/scripts/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | function start() {
4 | // Create main workspace.
5 | window.workspace = Blockly.inject('blocklyDiv', {
6 | toolbox: document.getElementById('toolbox-categories'),
7 | renderer: 'zelos',
8 | });
9 | }
10 |
--------------------------------------------------------------------------------
/blockly_editor/scripts/waitfor.js:
--------------------------------------------------------------------------------
1 | function waitFor(name) {
2 | return new Promise((resolve) => {
3 | function run() {
4 | if (window[name]) {
5 | resolve();
6 | } else {
7 | requestAnimationFrame(run);
8 | }
9 | }
10 |
11 | run();
12 | });
13 | }
14 |
15 | export default waitFor;
--------------------------------------------------------------------------------
/blockly_editor/toolbox_style.css:
--------------------------------------------------------------------------------
1 | /* Makes our label white. */
2 | .blocklyTreeLabel {
3 | color: #fff;
4 | }
5 |
6 | /* Adds padding around the group of categories and separators. */
7 | .blocklyToolboxContents {
8 | padding: 0.6em;
9 | }
10 |
11 | /* Adds space between the categories, rounds the corners and adds space around the label. */
12 | .blocklyTreeRow {
13 | padding: 3px;
14 | margin-bottom: 0.5em;
15 | border-radius: 4px;
16 | }
17 |
18 | /* Changes color of the icon to white. */
19 | .customIcon {
20 | color: #fff;
21 | }
22 |
23 | /* Stacks the icon on top of the label. */
24 | .blocklyTreeRowContentContainer {
25 | display: flex;
26 | flex-direction: column;
27 | align-items: center;
28 | }
29 |
30 | .blocklyTreeRow {
31 | height: initial;
32 | }
--------------------------------------------------------------------------------
/blockly_editor/uploader.css:
--------------------------------------------------------------------------------
1 |
2 | .container{
3 | display: flex;
4 | width:100%;
5 | justify-content: center;
6 | }
7 | .card {
8 | border-radius: 10px;
9 | box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.3);
10 | width: 600px;
11 | height: 260px;
12 | background-color: #ffffff;
13 | padding: 10px 30px 40px;
14 | margin-top: 5%;
15 | margin-bottom: 5%;
16 | overflow: auto;
17 | }
18 |
19 | .card h3 {
20 | font-size: 22px;
21 | font-weight: 600;
22 |
23 | }
24 |
25 | .drop_box {
26 | margin: 10px 0;
27 | padding: 30px;
28 | display: flex;
29 | align-items: center;
30 | justify-content: center;
31 | flex-direction: column;
32 | border: 3px dotted #a3a3a3;
33 | border-radius: 5px;
34 | }
35 |
36 | .drop_box h4 {
37 | font-size: 16px;
38 | font-weight: 400;
39 | color: #2e2e2e;
40 | }
41 |
42 | .drop_box p {
43 | margin-top: 10px;
44 | margin-bottom: 20px;
45 | font-size: 12px;
46 | color: #a3a3a3;
47 | }
48 |
49 | .btn {
50 |
51 | text-decoration: none;
52 | background-color: #005af0;
53 | color: #ffffff;
54 | padding: 10px 20px;
55 | border: none;
56 | outline: none;
57 | transition: 0.3s;
58 | border-radius: 10px;
59 | cursor: pointer;
60 | margin-bottom: 5%;
61 | }
62 |
63 | .btn:hover{
64 | text-decoration: none;
65 | background-color: #ffffff;
66 | color: #005af0;
67 | padding: 10px 20px;
68 | border: none;
69 | outline: 1px solid #010101;
70 | }
71 | .form input {
72 | margin: 10px 0;
73 | width: 100%;
74 | background-color: #e2e2e2;
75 | border: none;
76 | outline: none;
77 | padding: 12px 20px;
78 | border-radius: 4px;
79 | }
80 |
--------------------------------------------------------------------------------
/contact.md:
--------------------------------------------------------------------------------
1 | # Contact
2 | - All developers: bark.github.io@gmail.com
3 | - mariocraft987 (creator): mariocraft987dev@gmail.com
4 | - qwertyy (web design): qwertyytheartist@gmail.com
5 | - Rubiidev (additional features): @-sodium_test- on Scratch
6 | - nmsderp/Mr_rudy (editor developer): @Mr_rudy on Scratch
7 |
8 |
9 |
--------------------------------------------------------------------------------
/devserver/development.js:
--------------------------------------------------------------------------------
1 | //the server
2 | let express;
3 | try {
4 | express = require("express");
5 | } catch {
6 | console.error("Seems like express isn't installed. To fix this, run \"npm i\" (or use bun/pnpm if you have it) then try again.");
7 | require('process').exit(1);
8 | }
9 | const app = express();
10 |
11 | app.use(express.static("."));
12 |
13 | const fs = require("fs");
14 | const path = require("path");
15 |
16 | const verceljson = JSON.parse(fs.readFileSync("vercel.json", "utf-8"));
17 | const rewrites = verceljson.rewrites;
18 |
19 | rewrites.forEach(item => {
20 | app.get(item.source, (_,res) => {
21 | res.sendFile(path.resolve("." + item.destination));
22 | });
23 | });
24 |
25 | app.listen(8080, () => {
26 | console.log("bark development server running on port 8080.");
27 | });
--------------------------------------------------------------------------------
/documentation/content/API.md:
--------------------------------------------------------------------------------
1 | # API
2 | BAPI (short for Bark API), made by dumorando, using Node.js.
3 |
4 | The API is hosted at [github.com/dumorando/bapiv2](https://github.com/dumorando/bapiv2)
5 |
6 | BAPI is at its 2nd version.
7 |
8 | # Fetches
9 |
10 | ## /api/v2/users
11 |
12 | Returns the JSON of all the users on Bark.
13 |
14 | ```json
15 |
16 | {
17 | "count": 1000,
18 | users: [{
19 | "username": "johndoe",
20 | "bio": "Lorem ipsum dolor sit amit",
21 | "profilepicture": "data:image/png;base64..."
22 | },
23 | {
24 | "username": "janedoe",
25 | "bio": "I started painting as a hobby when I was little",
26 | "profilepicture": "data:image/png;base64..."
27 | },
28 | ...
29 | ]
30 | }
31 | ```
32 |
33 | ## /api/v2/fetchUser?username=USERNAME
34 |
35 | Fetches a Bark user and returns the following JSON data.
36 |
37 | ```json
38 |
39 | {
40 | "username": "johndoe",
41 | "bio": "lorem lpsum",
42 | "profilepicture": "data:image/png;base64..."
43 | }
44 | ```
45 | ## /api/v2/admins
46 |
47 | Returns the JSON of the admins of Bark.
48 |
49 | ```json
50 | [
51 | "johndoe",
52 | "janedoe",
53 | "michael",
54 | "sans",
55 | ...
56 | ]
57 | ```
58 |
--------------------------------------------------------------------------------
/documentation/content/Add a new block.md:
--------------------------------------------------------------------------------
1 | # Making Blocks
2 | ### This tutorial was written by @nmsderp, feel free to add more if needed
3 | *NOTE: Making blocks requires basic knowledge of xml, and some decent knowledge of JavaScript*
4 |
5 | *NOTE 2: IT WILL MAKE YOUR LIFE EASIER TO USE BLOCKLY BLOCK FACTORY: [Block Factory](https://blockly-demo.appspot.com/static/demos/blockfactory/index.html) OR THE [NEWER VERSION](https://google.github.io/blockly-samples/examples/developer-tools/index.html)*
6 |
7 | *NOTE 3: if you wanna request blocks for us to make, create a discussion in Block Requests and we will make it if ideas are good.*
8 |
9 | First we need to design our block, the block code may look like this:
10 | ```javascript
11 | Blockly.Blocks['movement_move'] = { // Block Id
12 | init: function() {
13 | this.jsonInit({
14 | "type": "movement_move", // Block Id
15 | "message0": "move", // Block text
16 | "previousStatement": null,
17 | "nextStatement": null,
18 | "colour": 230, // Block color
19 | "tooltip": "", // Block tip
20 | "helpUrl": "" // Block help URL
21 | });
22 | }
23 | };
24 | ```
25 | Then we add the block design to `custom.js`,
26 | After that we need to add it to the toolbox in `editor/`
27 | ```xml
28 |
29 | 3
30 |
31 | ```
32 | In Blockly code is ran with generators, in our code we have to define what the blocks do:
33 | ```javascript
34 | javascript.javascriptGenerator.forBlock['change_stage_bg'] = function(block, generator) { // Block Id
35 | let colorValue = block.getFieldValue('NAME'); // Code...
36 | return "changebg('" + colorValue + "');";
37 | };
38 | ```
39 | *TIP: By using block.getFieldValue('value name here'); you can get values from the blocks!*
40 |
41 | Almost all functions for the new blocks are located inside of `sketch.js` this is basically the vm of this project. An example is below.
42 | ```javascript
43 | function changebg(color) {
44 | // Set the background color to the provided color
45 | bgColor = color;
46 | }
47 | ```
48 | after that the block is now in the blockbar!
49 |
50 | 
51 |
52 | If you want to make a library of custom blocks, go see `Create an extension.md`!
53 |
54 | *Last updated April 19th, 2024. Restored June 14th, 2025*
55 |
56 |
59 |
60 |
61 | [Edit this page.](https://github.com/mariocraft987/bark-coding/blob/main/documentation/content/Add%20a%20new%20block.md)
--------------------------------------------------------------------------------
/documentation/content/Advanced editor.md:
--------------------------------------------------------------------------------
1 | # Advanced Editor
2 | The advanced editor was created by [rayne cloudy](https://github.com/raynecloudy). It runs JavaScript with added features optimized for Bark.
3 |
4 | ## Commands
5 |
6 | - `clearconsole()` -> void
7 |
8 | Clears the terminal.
9 |
10 | - `log(str)` -> void
11 |
12 | Adds `str` and a newline to the console.
13 |
14 | - `text(x, y, text, font, color)` -> void
15 |
16 | Draws text on the stage.
17 |
18 | - `rect(x, y, width, height, background-color)` -> void
19 |
20 | Draws a rectangle on the stage.
21 |
22 | ## Objects
23 |
24 | ### `sprite`
25 |
26 | #### Parameters
27 |
28 | `new sprite(type="dog", x=0, y=0, size=100)`
29 |
30 | - `type`: The type of sprite (the only option as of now is `"dog"`)
31 | - `x`: How many pixels from the left edge of the stage. Anchored at the left of the sprite.
32 | - `y`: How many pixels from the top edge of the stage. Anchored at the top of the sprite.
33 | - `size`: How large the sprite is, in %.
34 |
35 | #### Methods
36 | - `draw()`: Renders the sprite.
37 |
38 | ## Variables
39 |
40 | ### Check mouse keys
41 |
42 | These variables tell you if the selected key is being pressed.
43 |
44 | - `kb_left_arrow`
45 |
46 | If left arrow key pressed.
47 |
48 | - `kb_right_arrow`
49 |
50 | If right arrow key pressed.
51 |
52 | - `kb_up_arrow`
53 |
54 | If up arrow key pressed.
55 |
56 | - `kb_down_arrow`
57 |
58 | If down arrow key pressed.
59 |
60 | [Edit this page.](https://github.com/mariocraft987/bark-coding/edit/main/documentation/content/Advanced%20editor.md)
61 |
--------------------------------------------------------------------------------
/documentation/content/Badges.md:
--------------------------------------------------------------------------------
1 | # Badges
2 |
3 | What are badges?
4 |
5 | Badges are little icons that customize a user's profile.
6 |
7 | Here is a list of all the badges and requirments:
8 |
9 | | Badge | Icon | Requirments |
10 | | -------- | ------- | ------ |
11 | | Dogggggg |
|Free badge!|
12 | | OG fella |
|Be one of the first 500 users on Bark|
13 | | Disco-oh-oh-ord |
|Be apart of the Bark Discord server|
14 | | Wumpus ain't a dog |
|Same as Disco-oh-oh-ord|
15 | | Web-Spider |
|Have 10+ none-duplicate socials on your profile|
16 | | Web-Master |
|Same as Web-Spider, but 20+ socials|
17 | | Veteran |
|Be apart of Bark Coding for a year|
18 | | DEVELOPERRR |
|Have Dev Mode on|
19 | | Bruh. |
|Have a funny or questional bio|
20 | | A little thing called Youtube |
|Be a youtuber with 100+ subscribers|
21 | | Juggler |
|Have more than 5 badges|
22 | | Me The Explorer! |
|Find a secret using your Konami knowledge|
23 | | Lucky! |
|Find a secret on the website|
24 | | BOOSTER |
|Boost the Bark Discord server|
25 |
26 |
27 | [Edit this page.](https://github.com/mariocraft987/bark-coding/edit/main/documentation/content/Badges.md)
--------------------------------------------------------------------------------
/documentation/content/Contributing.md:
--------------------------------------------------------------------------------
1 | # How to Contribute to Bark?
2 | ## Have you found a bug?
3 | - Before creating an issue, please use the search bar on the [issues](https://github.com/mariocraft987/bark.github.io/issues) tab to make sure you don't create a duplicate.
4 | - If there are no issues with the same bug, [open a new one](https://github.com/mariocraft987/bark.github.io/issues/new).
5 | - Make sure to include a clear and concise title and description.
6 | - If possible, tell us how to re-create the bug.
7 |
8 | All issues and pull requests should conform to the [Code of Conduct](https://github.com/mariocraft987/bark.github.io/blob/main/CODE_OF_CONDUCT.md).
9 | ## Have you created a patch or upgrade to Bark?
10 | - Open a new pull request on the branch.
11 | - Make sure the description identifies the patch/upgrade clearly.
12 | - If possible, include a link to the issue addressing the now fixed bug.
13 |
14 | All issues and pull requests should conform to the [Code of Conduct](https://github.com/mariocraft987/bark.github.io/blob/main/CODE_OF_CONDUCT.md).
15 |
16 | # Jobs
17 | ## We're hiring QA's!
18 | Comment "I would like to be a QA!" here if you would like to get a job as a QA at Bark.
19 | ### Requirements:
20 | - Must know how to open an issue
21 | - Please make sure you don't make a duplicate issue
22 | ## We're Also hiring contributers!
23 | Comment "I would like to be a contributer!" here then state your reason you could help.
24 | ### IMPORTANT, THIS IS REQUIRED!
25 | Fork the repository and create a pull request to show us what web-building skills you got!
26 | ### Requirements:
27 | - Must know decent HTML, Javascript, and CSS
28 | - You must know the tools of Github
29 | - (not required)You have to have a sense of art and be creative
30 | ## We're Also hiring A/B Testers!
31 | Comment "I would like to be a A/B tester!" here if you would like to get a job as a AB tester at Bark.
32 | ### Requirements:
33 | - Must know how to open an issue, pull request and create a fork
34 | - Please make sure you don't make a duplicate pr or issue.
35 |
36 |
37 | Thanks,
The Bark Team
38 |
39 |
40 | [Edit this page.](https://github.com/mariocraft987/bark-coding/edit/main/documentation/content/Contributing.md)
--------------------------------------------------------------------------------
/documentation/content/History.md:
--------------------------------------------------------------------------------
1 | # Bark's History
2 |
3 | On December, 2023
4 |
5 | Bark Coding started out as a site simulation if
6 | [Scratch MIT](https://scratch.org) had a dog mascot, inspired by @ozzy_drixAnimation's BARK
7 |
8 | The creator, AtomicBolts started Bark in his personal computer, with poor css, since Bark was one of his first projects learning HTML
9 | 
10 |
11 | 
12 |
13 | A web hosting was wanted at the time, Atomic didn't hear about [Nekoweb](https://nekoweb.org/) or [Neocities](https://neocities.org/) yet.
14 |
15 | Then Github was found and the [first commits](https://github.com/mariocraft987/bark-coding/commits/main/?after=90de7433c0df14563f3f145841f0bc53187a4bdd+2869) were made.
16 |
17 | Bark Coding was a one person project for a while, until another developer named @qwertyytheartist (yes thats raynecloudy) applied to help with the project.
18 | 
19 |
20 | As a attempt, AtomicBolts invited @nmsderp and @dumorando (originally thepython555), creators of [Snail IDE](https://www.snail-ide.com)
21 |
22 | MORE COMING SOON!!!
23 |
24 | [Edit this page.](https://github.com/mariocraft987/bark-coding/edit/main/documentation/content/History.md)
25 |
--------------------------------------------------------------------------------
/documentation/content/Making themes.md:
--------------------------------------------------------------------------------
1 | This is under dev right now
2 |
3 |
4 | [Edit this page.](https://github.com/mariocraft987/bark-coding/edit/main/documentation/content/Making%20themes.md)
--------------------------------------------------------------------------------
/documentation/content/README.md:
--------------------------------------------------------------------------------
1 | # Docs
2 | This is the Bark Docs
3 |
4 | You can read almost everything related about Bark here
5 |
6 |
7 |
8 | Bark Coding is a web developer tool, licensed under the GPL-3.0 license.
9 |
10 | Bark is run by indie dev who made other projects before.
11 |
12 |
13 | It has a working Javascript editor, an account system, and is open-sourced.
14 |
15 | 
--------------------------------------------------------------------------------
/documentation/content/_sidebar.md:
--------------------------------------------------------------------------------
1 | - [Start](/README.md)
2 | - [History](/History.md)
3 | - [Contributing](/Contributing.md)
4 | - [Add a new block](/Add%20a%20new%20block.md)
5 | - [Create an extension](/Create%20an%20extension.md)
6 | - [Advanced editor](/Advanced%20editor.md)
7 | - [Badges](/Badges.md)
8 | - [API](/API.md)
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cytrinc/bark-coding/8abd88c3e8e31658de377dbb00648747af8aa586/favicon.ico
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bark-coding",
3 | "description": "A Fun block based coding editor similar to Scratch.",
4 | "scripts": {
5 | "dev": "node devserver/development.js"
6 | },
7 | "main": "index.html",
8 | "version": "0.60",
9 | "dependencies": {
10 | "express": "^4.19.2"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/pages/banned.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Banned :(
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
Account banned
21 |
Your account has been banned from Bark Coding for:
22 |
False reporting users
23 |
Was this an unreasonable ban? contact the developers.
24 |
- Moderators
25 |
26 |
27 |
28 |
29 |
30 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/pages/contact.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Contact Team
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
25 |
26 |
27 |
28 |
29 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/pages/credits.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Bark - Credits
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |