diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..69d3ef3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +_site/ +.idea/ +*.iml diff --git a/404.html b/404.html new file mode 100644 index 0000000..8074397 --- /dev/null +++ b/404.html @@ -0,0 +1,30 @@ +--- +permalink: /404.html +--- + + + + {% include head.html %} + + + +
+

404 - Page Not Found

+
+
+

Back to home

+
+ + + + + + + + + + + + diff --git a/AboutFRC.html b/AboutFRC.html deleted file mode 100644 index 1b198a5..0000000 --- a/AboutFRC.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - Team 6738 | Excalibur - - - - - - - - - -
- - -
- -
-
- The FRC is a competition in which teams, consisting of high school students from around the world. Every year, the teams are presented with a unique challenge. The teams must then build a robot that can effectively perform all the necessary parts of the challenge. Every team is given 6 weeks for building the robot and preparing it for the competitions. During that time period, the teams build many prototypes, design in “SolidWorks”, create part while using Complex machinery, such as CNC machines and 3D printers, build the mechanical elements of the robot, implement electronics, motors, and pneumatics into the system, and of course - program it. Meanwhile, the teams make posts and their robots on social media, and document the work that they do. -
‏‏‎ -
-
- ... -
-
- - - - - - - - \ No newline at end of file diff --git a/AboutFRC.md b/AboutFRC.md new file mode 100644 index 0000000..6b25bc1 --- /dev/null +++ b/AboutFRC.md @@ -0,0 +1,17 @@ +--- +permalink: /AboutFRC.html +layout: text +imgsrc: "/img/field2019-view.jpg" +--- +[FRC (FIRST Robotics Competition)](https://www.firstinspires.org/robotics/frc) is an international +high-school robotics competition in which two alliances of three teams each compete to score as many points +as possible on the year-specific field in a match (2 minutes, 15 seconds). +Teams have a build season of 6 weeks to build their robot and prepare it for the competitions. During that +time, teams prototype their robot, design it in 3D CAD software, create parts using complex machinery (CNC +routers, 3D printers, etc), build the mechanical elements of the robot, set up electronics, motors, sensors, +and pneumatics into the robot, and program it. +One of FIRST's mottos is "More than robots", and in FRC this means that teams are also judged based on +contribution and activity in their community, including promoting STEM values. +Teams are also responsible for raising the funds for registration, the robot itself, travel to the +competitions, etc. This results in many teams being active on social media platforms. +
‏‏‎ diff --git a/AboutUs.html b/AboutUs.html deleted file mode 100644 index 9070620..0000000 --- a/AboutUs.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - Team 6738 | Excalibur - - - - - - - - - -
- - -
- -
-
- - Our group, 6738 #Excalibur is an FRC Group which was established in 2017. The group now has about 35 high school students. In our first year, we won the Rookie All-Star and Rookie Inspiration awards, given to a group which shows potential and inspires. -

In the year 2019, we reached remarkable achievements in all The regional competitions, and in the national competition, we led an alliance (consisting of three different groups) that advanced to the finals and finished the season at second place in Israel. Throughout the year, we as a group contributed to the community through a variety of activities, including workshops, robotics, volunteer activities with different kindergartens and organizations, and through these activities, we are spreading the values ​​of science and technology among the youth. We support and operate five more FLL groups (robotics competitions for grades 5 through 8, another FIRST program) and guide them in the challenges that they face. -

In the coming season, we plan to significantly increase the community issue and spread FIRSTs values, especially within populations with lower exposure to science and technology. -
-
‏‏‎ -
-
- ... -
-
- - - - - - - - \ No newline at end of file diff --git a/AboutUs.md b/AboutUs.md new file mode 100644 index 0000000..66addd1 --- /dev/null +++ b/AboutUs.md @@ -0,0 +1,23 @@ +--- +permalink: /AboutUs.html +layout: text +imgsrc: "/img/team2019-photo_dcmp.jpeg" +--- +We are FRC team #6738 Excalibur, established in 2017. We now have ~40 high school students. +

+In our first year, we won the Rookie All-Star and Rookie Inspiration awards, given to teams that show +potential and inspire. +
+In 2019, we reached remarkable achievements in all our regional competitions; +and in the national championship we led an alliance (of three teams) that advanced to the +finals and finished the season at second place in Israel. +

+Throughout the year, we contributed as a team to the community through a variety of activities, +including robotics workshops and activities with different kindergartens and organizations. +Through these activities we are spreading the values ​​of STEM in the community. +We support and operate five FLL teams +(FIRST Lego League, a FIRST robotics program for ages 4-16), and guide them in the challenges that they +face. +

+In the coming season, we plan to significantly increase our community work and spread STEM +values, especially within populations with lower exposure to science and technology. diff --git a/Coding Standards.pdf b/Coding Standards.pdf deleted file mode 100644 index f472df5..0000000 Binary files a/Coding Standards.pdf and /dev/null differ diff --git a/Color Standards.pdf b/Color Standards.pdf deleted file mode 100644 index 26234fd..0000000 Binary files a/Color Standards.pdf and /dev/null differ diff --git a/ContactUs.html b/ContactUs.html deleted file mode 100644 index 476c30d..0000000 --- a/ContactUs.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - Team 6738 | Excalibur - - - - - - - - - -
- -
- -
-
- - - - - -

Email

Instagram

Facebook

-
-
- - - - - - - - \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..0c8671c --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "github-pages", group: :jekyll_plugins diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..6a1933b --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,269 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.0.3.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.7) + dnsruby (1.61.5) + simpleidn (~> 0.1) + em-websocket (0.5.2) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.12.0) + ffi (>= 1.3.0) + eventmachine (1.2.7) + eventmachine (1.2.7-x64-mingw32) + execjs (2.7.0) + faraday (1.1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords + ffi (1.13.1) + ffi (1.13.1-x64-mingw32) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (209) + github-pages-health-check (= 1.16.1) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.6) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.2) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.6.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.2) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.4) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.10.4, < 2.0) + rouge (= 3.23.0) + terminal-table (~> 1.4) + github-pages-health-check (1.16.1) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (~> 3.0) + typhoeus (~> 1.3) + html-pipeline (2.14.0) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.9.0) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.6) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.2) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.2) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.2.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + mini_portile2 (2.5.0) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.13.0) + multipart-post (2.1.1) + nokogiri (1.11.1) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) + nokogiri (1.11.1-x64-mingw32) + racc (~> 1.4) + octokit (4.19.0) + faraday (>= 0.9) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (3.1.1) + racc (1.5.2) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (3.23.0) + ruby-enum (0.8.0) + i18n + ruby2_keywords (0.0.2) + rubyzip (2.3.0) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + simpleidn (0.1.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.7) + thread_safe (~> 0.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unf_ext (0.0.7.7-x64-mingw32) + unicode-display_width (1.7.0) + zeitwerk (2.4.1) + +PLATFORMS + ruby + x64-mingw32 + +DEPENDENCIES + github-pages + +BUNDLED WITH + 2.1.4 diff --git a/Outreach.html b/Outreach.html deleted file mode 100644 index ab68ab8..0000000 --- a/Outreach.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - Team 6738 | Excalibur - - - - - - - - -
- - -
- -
-
-

- One of the most important parts of FIRST is community outreach, which stays with you all year round, and not only during the season. When FIRST was established, its whole purpose was to bring children closer to science and technology, but the problem is that only the people whom are a part of a FIRST team are affected and involved with FIRSTs great ideas, and thus brought closer into science and technology.

- One of the phrases that floats around in many FIRST teams is "more than a robot" - meaning that FIRST is not just about the season itself, but also about spreading FIRSTs values to the people around you. We believe that this is our job. We pass these values on to children in elementary schools through activities about science and technology and try to get as many people interested about STEM as possible.

- Furthermore, we as a team mentor 5 FLL (one of the FIRSTs programs for kids 10-15) teams, teach them, help them understand robotics better, and generally teach them about FIRST and their values.
- Additionally, each year we give a course for young mentors in the FLL program where we teach about responsibility and knowledge. Finally, a selected part of the group goes on to mentor FLL groups.
-

-
-
- ... -
-
- -
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/Outreach.md b/Outreach.md new file mode 100644 index 0000000..0f340fc --- /dev/null +++ b/Outreach.md @@ -0,0 +1,21 @@ +--- +permalink: /outreach/ +layout: text +imgsrc: "/img/fll-mentor-course.jpg" +--- +### Community Outreach +One of the most important parts of FIRST is community outreach, that is relevant all year round (not +only during the build/competition season). One of FIRST's goals is to "raise the next generation of engineers" - +to bring children closer to science and technology. However, without community outreach, +only those who actively participate in FIRST teams are affected. +

+One of FIRST's mottos that many teams implement is "more than robots" - meaning that FIRST is not +just about the season itself, but also about spreading FIRSTs values to the people around. We believe +that this is our job. We pass these values on to children in elementary schools through activities about +science and technology and try to get as many people interested about STEM as possible. +

+Furthermore, we as a team mentor 5 FLL teams (a similar robotics program for ages 4-16): we teach them, help +them understand robotics better, and generally teach them about FIRST and STEM. +
+Additionally, we host an annual seminar series where we guide FLL mentors to effectively mentor FLL teams. +There is usually much demand for the seminar and most who undergo it go on to successfully mentor FLL teams. diff --git a/Resources.html b/Resources.html index 9424864..4f07fe0 100644 --- a/Resources.html +++ b/Resources.html @@ -1,200 +1,154 @@ - - - - - - +--- +permalink: /resources/ +layout: default +--- - - - - - - - - - - Team 6738 | Excalibur - - - - + function changeVideo(index) { - - - -
- - -
+ + +
+
+
+ + Tutorials + +
+
+
-
-
-
-
-
-
- -
-
- -
- + + - -
-
-
- -
-
-
- + +
+
+
+ +
+
+
+
+
+
- -
-
-
- -
-
-
-
-
+
+ +
+
+
+ +
+
+ - -
-
-
- -
-
-
-
-
- -
- -
+
+
+
+
- - - - - - - - \ No newline at end of file +
diff --git a/Seasons.html b/Seasons.html index fbf923c..5687354 100644 --- a/Seasons.html +++ b/Seasons.html @@ -1,177 +1,154 @@ - - - - - - - - - - - - - - - - Team 6738 | Excalibur - - - - - - - - -
- - -
- -
-
-
-
-
-
- -
-
- -
-
-
- - ISR #2:
24 Points, #12, Captain of Alliance #8, [QF] (8-6-0)

- ISR #4:
25 Points, #12, Captain of Alliance #7, [QF] (7-6-0)

- Israel District Championship:
147 Points, #8, Captain of Allliance #6, [F] (12-7-0)

- ● Won District Championship Finalist -
‏‏‎ -
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
- - ISR #1:
12 Points, #19, [-] (5-6-0)

- ISR #3:
16 Points, #27, Alliance #8, [QF] (3-10-0)

-
‏‏‎ -
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
- - ISR #1:
48 Points, #20, Alliance #1, [W] (11-6-0)

- ISR #3:
35 Points, #26, Alliance #8, [QF] (5-9-1)

- Israel District Championship:
21 Points, #41, [-] (4-7-0)

- ● Won District Event Winner
- ● Won Rookie Inspiration Award
- ● Won Rookie All Star Award
-
‏‏‎ -
-
- -
-
-
-
+
+
+
+ + ISR #1:
16 Points, #20, Second pick of 6th Alliance, [QF], (6-7-1) +

+ ISR #3
25 Points, #10, Captain of 7th Alliance, [QF], (6-8-0) +
‏‏‎ +
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + ISR #1:
6 Points, #32, [-] (3-8-0) +

+ ISR #4:
CANCELED! +
‏‏‎ +
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + ISR #2:
24 Points, #12, Captain of Alliance #8, [QF] (8-6-0) +

+ ISR #4:
25 Points, #12, Captain of Alliance #7, [QF] (7-6-0) +

+ Israel District Championship:
147 Points, #8, Captain of + Allliance #6, [F] (12-7-0)

+ ● Won District Championship Finalist +
‏‏‎ +
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + ISR #1:
12 Points, #19, [-] (5-6-0)

+ ISR #3:
16 Points, #27, Alliance #8, [QF] (3-10-0) +

+
‏‏‎ +
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + ISR #1:
48 Points, #20, Alliance #1, [W] (11-6-0) +

+ ISR #3:
35 Points, #26, Alliance #8, [QF] (5-9-1) +

+ Israel District Championship:
21 Points, #41, [-] (4-7-0) +

+ ● Won District Event Winner
+ ● Won Rookie Inspiration Award
+ ● Won Rookie All Star Award
+
‏‏‎ +
+
+
+
+
+
- - - - - - - - \ No newline at end of file +
\ No newline at end of file diff --git a/Sponsors.html b/Sponsors.html deleted file mode 100644 index e84b157..0000000 --- a/Sponsors.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - Team 6738 | Excalibur - - - - - - - - -
- - -
- -
-
-
-
-
-

Apple Inc.

-
-
-
-

3DNY

-
-
-
-

Bakara Geva

-
-
-
-

Gotlib and Solaris

-
-
-
-
-
-

Glassteel

-
-
-
-

Conlog

-
-
-
-

Lamed Kaf

-
-
-
-

City of Modiin

-
-
-
-
-
-

Tevel

-
-
-
-

Sagol

-
-
-
-

Saiktiv

-
-
-
-

Solid Works

-
-
-
-
-
-

Bnei Akiva School Network

-
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..858a918 --- /dev/null +++ b/_config.yml @@ -0,0 +1,13 @@ +title: 6738 Excalibur +description: Website for FRC team 6738 Excalibur +markdown: GFM +syntax_highlighter: rouge + +exclude: [ + clean.sh , + .vscode/ , + .idea/ , + Gemfile , + Gemfile.lock , + jekyll-run.bat +] \ No newline at end of file diff --git a/_includes/event-countdown.html b/_includes/event-countdown.html new file mode 100644 index 0000000..7fe3860 --- /dev/null +++ b/_includes/event-countdown.html @@ -0,0 +1,8 @@ + +
+
+

Days, Hours, Minute, Seconds

+

Until ISR1!

+
+
\ No newline at end of file diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..1eef729 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,24 @@ + + + + + + + + + + + + + +Team 6738 | Excalibur + + + + diff --git a/_includes/navigation.html b/_includes/navigation.html new file mode 100644 index 0000000..15b386d --- /dev/null +++ b/_includes/navigation.html @@ -0,0 +1,41 @@ + + \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..4addaf3 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,25 @@ + + + + {% include head.html %} + + + + + {% include navigation.html %} +
+ {{content}} +
+ + + + + + + + + + + diff --git a/_layouts/load-tutorial.js b/_layouts/load-tutorial.js new file mode 100644 index 0000000..ebdf544 --- /dev/null +++ b/_layouts/load-tutorial.js @@ -0,0 +1,60 @@ +const json = JSON.parse(` +{{ content }} +`) + +function loadProgressButtons(currentPermalink) { + let i; + if (currentPermalink.endsWith("/")) { + setProgressLinks(null, json["articles"][0]["file"]) + document.getElementById("tutorial-home").hidden = true; + return; + } + // alert(json) // debug + // alert(json["articles"]); // debug + for (i = 0; i < json["articles"].length; i++) { + let element = json["articles"][i]; + if (element["file"] === currentPermalink) { + setProgressLinks((i === 0)? null : json["articles"][i-1]["file"], + (i === json["articles"].length - 1)? null : json["articles"][i+1]["file"]) + break; + } + } + function setProgressLinks(prevLink, nextLink) { + let prev = document.getElementById("previous"); + let next = document.getElementById("next"); + if (prevLink === null) { + prev.hidden = true; + } else { + prev.setAttribute("href", prevLink); + } + if (nextLink === null) { + next.hidden = true; + } else { + next.setAttribute("href", nextLink); + } + } +} + +function loadSidebar(currentPermalink) { + // alert("loadSidebar() called"); // debug + let parent = document.getElementById("sidebar"); + json["articles"].forEach(function (current, idx, arr) { + let element = document.createElement("a"); + element.className = "sidebar-item"; + element.setAttribute("href", current["file"]); + element.text = current["name"]; + if (current["file"] === currentPermalink) { + document.getElementById("tutorial-intro").className -= " active"; + element.className += " active"; + } + parent.appendChild(element); + }); +} + +function setTitle(currentPermalink) { + let header = document.getElementById("title"); + + let currentfile = json["articles"].filter(article => article["file"] === currentPermalink)[0]; + header.id = currentfile["name"].replace(" ", "-").replace("/", "").toLowerCase(); + header.innerText = currentfile["name"]; +} diff --git a/_layouts/text.html b/_layouts/text.html new file mode 100644 index 0000000..00f8639 --- /dev/null +++ b/_layouts/text.html @@ -0,0 +1,12 @@ +--- +layout: default +--- +
+
+ {{ content }} +
+
+ +
+
\ No newline at end of file diff --git a/_layouts/tutorial.html b/_layouts/tutorial.html new file mode 100644 index 0000000..3136d7b --- /dev/null +++ b/_layouts/tutorial.html @@ -0,0 +1,25 @@ +--- +layout: default +--- + + + + + + +
+ + + Tutorial Home + + +
+

+ + {{ content }} +
+
+ + \ No newline at end of file diff --git a/animstyles.css b/assets/css/animstyles.css similarity index 100% rename from animstyles.css rename to assets/css/animstyles.css diff --git a/assets/css/sidenav.css b/assets/css/sidenav.css new file mode 100644 index 0000000..7c6d997 --- /dev/null +++ b/assets/css/sidenav.css @@ -0,0 +1,117 @@ +.sidenav { + height: 90%; /* Full-height: remove this if you want "auto" height */ + width: auto; /* Set the width of the sidebar */ + /*position: page; !* Fixed Sidebar (stay in place on scroll) *!*/ + z-index: 1; /* Stay on top */ + /*top: ; !* Stay at the top *!*/ + left: 0; + background-color: #111; /* Black */ + overflow-x: hidden; /* Disable horizontal scroll */ + padding-top: 0; +} + +/* The navigation menu links */ +.sidenav a { + padding: 6px 8px 6px 6px; + text-decoration: none; + font-size: 16px; + display: block; +} + +.sidenav a.active { + background: #012265; +} + +/* When you mouse over the navigation links, change their color */ +.jumbotron { + top: 0; + width: 50%; + padding: 10px; +} + +#previous { + font-weight: bold; + justify-self: left; + background: #d3af37; + color: #012265 !important; + padding: 0 3%; +} + +#next { + font-weight: bold; + justify-self: right; + background: #d3af37; + color: #012265 !important; + padding: 0 3%; +} + +#tutorial-home { + font-weight: bold; + padding: 0 3%; + justify-self: center; + background: #d3af37; + color: #012265 !important; +} + + +/* The side navigation menu */ +.sidebar { + margin: 0; + padding: 0; + width: 200px; + background-color: #001e59; + position: fixed; + height: 100%; + overflow: auto; +} + +/* Sidebar links */ +.sidebar a { + font-weight: bold; + display: block; + padding: 16px; + text-decoration: none; +} + +/* Active/current link */ +.sidebar a.active { + background-color: #d3af37; + color: #001e59 !important; +} + +/* Links on mouse-over */ +.sidebar a:hover:not(.active) { + background-color: #555; +} + +/* Page content. The value of the margin-left property should match the value of the sidebar's width property */ +div.jumbotron { + margin-left: 200px !important; + padding: 1px 16px; + height: 100%; +} + +/* On screens that are less than 700px wide, make the sidebar into a topbar */ +@media screen and (max-width: 700px) { + .sidebar { + width: 100%; + height: auto; + position: relative; + } + + .sidebar a { + float: left; + } + + div.content { + margin-left: 0; + } +} + +/* On screens that are less than 400px, display the bar vertically, instead of horizontally */ +@media screen and (max-width: 400px) { + .sidebar a { + text-align: center; + float: none; + } +} \ No newline at end of file diff --git a/styles.css b/assets/css/styles.css similarity index 76% rename from styles.css rename to assets/css/styles.css index 5938e3f..2bf8b09 100644 --- a/styles.css +++ b/assets/css/styles.css @@ -1,32 +1,58 @@ -.navbar { - background-color: #001e59; +#navContainer { + width: 100%; + top: 0; } -.navbar .navbar-brand { - color: #d3af37; + +@media (min-width: 991px) { + #content { + margin-top: 76px !important; + } + #navContainer { + position: fixed; + z-index: 100; + } } -.navbar .navbar-brand:hover, -.navbar .navbar-brand:focus { + +* { + border-radius: 0%; color: #d3af37; } -.navbar .navbar-text { - color: #d3af37; + +footer { + color: #d3af37 !important; } -.navbar .navbar-text a { - color: #d3af37; + +body { + background-color: #012265; +} + +p { + text-indent: 0% !important; } + +.navbar { + float: top; + background-color: #001e59; +} + +.navbar .navbar-brand, +.navbar .navbar-brand:hover, +.navbar .navbar-brand:focus, +.navbar .navbar-text, +.navbar .navbar-text a, .navbar .navbar-text a:hover, .navbar .navbar-text a:focus { - color: #d3af37; + color: #d3af37; } + .navbar .navbar-nav .nav-link { color: #d3af37; border-radius: .25rem; margin: 0 0.25em; } + .navbar .navbar-nav .nav-link:not(.disabled):hover, -.navbar .navbar-nav .nav-link:not(.disabled):focus { - color: #d3af37; -} +.navbar .navbar-nav .nav-link:not(.disabled):focus, .navbar .navbar-nav .nav-item.active .nav-link, .navbar .navbar-nav .nav-item.active .nav-link:hover, .navbar .navbar-nav .nav-item.active .nav-link:focus, @@ -36,6 +62,7 @@ color: #d3af37; /* background-color: #00459c; */ } + /* .navbar .navbar-toggle { border-color: #00459c; } @@ -46,13 +73,13 @@ .navbar .navbar-toggle .navbar-toggler-icon { color: #d3af37; } + .navbar .navbar-collapse, .navbar .navbar-form { border-color: #d3af37; } -.navbar .navbar-link { - color: #d3af37; -} + +.navbar .navbar-link, .navbar .navbar-link:hover { color: #d3af37; } @@ -61,10 +88,12 @@ .navbar-expand-sm .navbar-nav .show .dropdown-menu .dropdown-item { color: #d3af37; } + .navbar-expand-sm .navbar-nav .show .dropdown-menu .dropdown-item:hover, .navbar-expand-sm .navbar-nav .show .dropdown-menu .dropdown-item:focus { color: #d3af37; } + .navbar-expand-sm .navbar-nav { color: #d3af37; /* background-color: #00459c; */ @@ -75,10 +104,12 @@ .navbar-expand-md .navbar-nav .show .dropdown-menu .dropdown-item { color: #d3af37; } + .navbar-expand-md .navbar-nav .show .dropdown-menu .dropdown-item:hover, .navbar-expand-md .navbar-nav .show .dropdown-menu .dropdown-item:focus { color: #d3af37; } + .navbar-expand-md .navbar-nav .show { color: #d3af37; /* background-color: #00459c; */ @@ -89,10 +120,12 @@ .navbar-expand-lg .navbar-nav .show .dropdown-menu .dropdown-item { color: #d3af37; } + .navbar-expand-lg .navbar-nav .show .dropdown-menu .dropdown-item:hover, .navbar-expand-lg .navbar-nav .show .dropdown-menu .dropdown-item:focus { color: #d3af37; } + .navbar-expand-lg .navbar-nav { color: #d3af37; /* background-color: #00459c; */ @@ -105,24 +138,25 @@ .navbar-expand-xl .navbar-nav .show .dropdown-menu .dropdown-item { color: #d3af37; } + .navbar-expand-xl .navbar-nav .show .dropdown-menu .dropdown-item:hover, .navbar-expand-xl .navbar-nav .show .dropdown-menu .dropdown-item:focus { color: #d3af37; } + .navbar-expand-xl .navbar-nav { color: #d3af37; background-color: #00459c; } } -.navbar-expand .navbar-nav .show .dropdown-menu .dropdown-item { - color: #d3af37; -} +.navbar-expand .navbar-nav .show .dropdown-menu .dropdown-item, .navbar-expand .navbar-nav .show .dropdown-menu .dropdown-item:hover, .navbar-expand .navbar-nav .show .dropdown-menu .dropdown-item:focus { color: #d3af37; } -.navbar-expand .navbar-nav{ + +.navbar-expand .navbar-nav { color: #d3af37; background-color: #00459c; } @@ -133,81 +167,112 @@ html, body { } -td i{ +td i { font-size: 30px !important; } -.carousel-item img{ - object-fit:cover !important; +.carousel-item img { + object-fit: cover !important; width: 100% !important; } /* Contact */ -#contactinfo{ +#contactinfo { color: #d3af37 !important; } /* Seasons */ -h5 .btn-link{ +h5 .btn-link { background-color: #001e59 !important; color: #d3af37 !important; } -.card-header{ +.card-header { background-color: #001e59 !important; } -.card{ +.card { border-color: #d3af37 !important; } -.collapse, .collapsing{ +.collapse, .collapsing { background-color: #001e59 !important; color: #d3af37 !important; } -a{ +a { color: #d3af37 !important; } -.dayinfo{ +.dayinfo { font-size: 3.5vh !important; } -.maincontact{ +.maincontact { margin: 1vh !important; } -.nav-item.show{ +.nav-item.show { background: #001e59 !important; } -.nav-item , .nav-link{ +.nav-item, .nav-link { background: #001e59 !important; border-radius: 2px; transition: ease 0.2s; } -.nav-item:hover , .nav-link:hover{ +.nav-item:hover, .nav-link:hover { background: #012265 !important; transition: ease 0.2s; } -.dropdown-menu{ +.dropdown-menu { background: #012265; border-radius: 2px; } -.dropdown-item{ +.dropdown-item { background: #012265; color: #d3af37; transition: ease 0.1s; } -.dropdown-item:hover{ +.dropdown-item:hover { background: #d3af37; color: #012265 !important; transition: ease 0.1s; } + +h1, h2, h3 { + color: #d3af37; +} + +span { + color: #d3af37 +} + +p { + text-indent: 30px; + color: #d3af37; +} + +div { + background-color: #012265; +} + +img { + max-width: 100%; + max-height: 100%; + object-fit: contain; +} + +.jumbotron { + justify-content: center; +} + +p a { + text-decoration: #d3af37 underline; +} \ No newline at end of file diff --git a/assets/css/syntax.css b/assets/css/syntax.css new file mode 100644 index 0000000..bbd7c00 --- /dev/null +++ b/assets/css/syntax.css @@ -0,0 +1,60 @@ +.highlight { text-indent: 4%;} +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #aaaaaa } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/assets/css/tabs.css b/assets/css/tabs.css new file mode 100644 index 0000000..abdd959 --- /dev/null +++ b/assets/css/tabs.css @@ -0,0 +1,51 @@ +/* Style the tab */ +.tab { + overflow: hidden; + border: 1px solid #d3af37; + background-color: #00459c; + margin-bottom: 10px; +} + +/* Style the buttons that are used to open the tab content */ +.tab button { + background-color: inherit; + float: left; + border: none; + outline: none; + cursor: pointer; + padding: 14px 16px; + transition: 0.3s; + font-weight: bold; +} + +/* Change background color of buttons on hover */ +.tab button:hover { + background-color: #555; +} + +/* Create an active/current tablink class */ +button.tablinks.active { + color: #012265 !important; + background-color: #d3af37; +} +/*,*/ +/*.tab button.active*/ +/* Style the tab content */ +.tabcontent { + display: none; + padding: 6px 12px; + border: 1px solid #d3af37; + border-top: none; + margin-bottom: 16px; +} + +/* quote formatting is here to avoid formatting main page quote */ +blockquote { + border-left: 10px solid #d3af37; + margin: 1.5em 10px; + padding: 0.5em 10px; + +} +blockquote p { + display: inline; +} \ No newline at end of file diff --git a/clean.sh b/clean.sh new file mode 100644 index 0000000..dde7561 --- /dev/null +++ b/clean.sh @@ -0,0 +1 @@ +rm _site -r \ No newline at end of file diff --git a/img/CompRobot2019.jpg b/img/CompRobot2019.jpg new file mode 100644 index 0000000..b029521 Binary files /dev/null and b/img/CompRobot2019.jpg differ diff --git a/img/FullSizeRobot2019.jpg b/img/FullSizeRobot2019.jpg new file mode 100644 index 0000000..015db5e Binary files /dev/null and b/img/FullSizeRobot2019.jpg differ diff --git a/img/SmallRobot2019.jpg b/img/SmallRobot2019.jpg new file mode 100644 index 0000000..593ca92 Binary files /dev/null and b/img/SmallRobot2019.jpg differ diff --git a/img/carousel4.jpg b/img/carousel4.jpg new file mode 100644 index 0000000..7ab33cd Binary files /dev/null and b/img/carousel4.jpg differ diff --git a/img/carousel5.jpg b/img/carousel5.jpg new file mode 100644 index 0000000..d840c50 Binary files /dev/null and b/img/carousel5.jpg differ diff --git a/img/drive-team2019.jpg b/img/drive-team2019.jpg new file mode 100644 index 0000000..15ee4dd Binary files /dev/null and b/img/drive-team2019.jpg differ diff --git a/img/ds2019.jpg b/img/ds2019.jpg new file mode 100644 index 0000000..e4ece29 Binary files /dev/null and b/img/ds2019.jpg differ diff --git a/img/field2019-view.jpg b/img/field2019-view.jpg new file mode 100644 index 0000000..624d517 Binary files /dev/null and b/img/field2019-view.jpg differ diff --git a/img/fll-mentor-course.jpg b/img/fll-mentor-course.jpg new file mode 100644 index 0000000..78ca9a7 Binary files /dev/null and b/img/fll-mentor-course.jpg differ diff --git a/img/logo (5).png b/img/logo (5).png new file mode 100644 index 0000000..5580cba Binary files /dev/null and b/img/logo (5).png differ diff --git a/img/robot-judges.jpg b/img/robot-judges.jpg new file mode 100644 index 0000000..8dcdfe3 Binary files /dev/null and b/img/robot-judges.jpg differ diff --git a/img/robot2017.jpeg b/img/robot2017.jpeg new file mode 100644 index 0000000..2bc98f3 Binary files /dev/null and b/img/robot2017.jpeg differ diff --git a/img/robot2018.jpeg b/img/robot2018.jpeg new file mode 100644 index 0000000..48fac17 Binary files /dev/null and b/img/robot2018.jpeg differ diff --git a/img/robotClimbing.jpg b/img/robotClimbing.jpg new file mode 100644 index 0000000..5ceb76c Binary files /dev/null and b/img/robotClimbing.jpg differ diff --git a/img/team2019-photo_dcmp.jpeg b/img/team2019-photo_dcmp.jpeg new file mode 100644 index 0000000..f0b4a80 Binary files /dev/null and b/img/team2019-photo_dcmp.jpeg differ diff --git a/index.html b/index.html index 7899f83..ebcd1a3 100644 --- a/index.html +++ b/index.html @@ -1,276 +1,147 @@ - + - - - - - - - - - - - - - - - Team 6738 | Excalibur - - - - - - - - - -
- -
- - -
- - - -
- -
-
-

Excalibur is a FIRST Robotics team from Modiin, Israel

- -
-
-
- + + + + We Moved! + + + + +
+ +
- +
+

Excalibur FRC | Team #6738

+

We have moved our website to:

+

www.ExcaliburFRC.com

+
+ - - diff --git a/jekyll-run.bat b/jekyll-run.bat new file mode 100644 index 0000000..04dfbbc --- /dev/null +++ b/jekyll-run.bat @@ -0,0 +1,2 @@ +@echo off +bundle exec jekyll serve diff --git a/loginAnimation.js b/loginAnimation.js deleted file mode 100644 index ec142d6..0000000 --- a/loginAnimation.js +++ /dev/null @@ -1,5 +0,0 @@ -function goToLogin(){ - document.getElementsByClassName("load-anim-1")[0].style.display = "inline-block"; - document.getElementById("loginicon").style.display = "none"; - window.location = "https://excalibur-private-server.herokuapp.com/"; -} \ No newline at end of file diff --git a/Logo-Transparent.png b/resources/Logo-Transparent.png similarity index 100% rename from Logo-Transparent.png rename to resources/Logo-Transparent.png diff --git a/Logo.png b/resources/Logo.png similarity index 100% rename from Logo.png rename to resources/Logo.png diff --git a/resources/code-standards.md b/resources/code-standards.md new file mode 100644 index 0000000..375275c --- /dev/null +++ b/resources/code-standards.md @@ -0,0 +1,10 @@ +--- +permalink: resources/code-standards.html +layout: text +imgsrc: "" +--- + +### Code Standards +We use the [Google Styleguide](https://google.github.io/styleguide/javaguide.html) for all Java code. +For Gradle projects (including robot code) this can be enforced using [Spotless](https://github.com/diffplug/spotless). +To setup Spotless in a project, see the [Spotless docs](https://github.com/diffplug/spotless). \ No newline at end of file diff --git a/resources/color-standards.md b/resources/color-standards.md new file mode 100644 index 0000000..5fb92a8 --- /dev/null +++ b/resources/color-standards.md @@ -0,0 +1,12 @@ +--- +permalink: /resources/color-standards.html +layout: text +imgsrc: "" +--- +### Our Team Colors +- Main: + - `hex: #012265` + - `rgb: (1, 34, 101)` +- Accent: + - `hex: #d3af37` + - `rgb: (211, 175, 55)` \ No newline at end of file diff --git a/scripts/countdown.js b/scripts/countdown.js new file mode 100644 index 0000000..1cef574 --- /dev/null +++ b/scripts/countdown.js @@ -0,0 +1,26 @@ +var countDownDate = new Date("Feb 24, 2020 8:00").getTime(); +var x = setInterval(function() { + + // Get today's date and time + var now = new Date().getTime(); + + // Find the distance between now and the count down date + var distance = countDownDate - now; + + // Time calculations for days, hours, minutes and seconds + var days = Math.floor(distance / (1000 * 60 * 60 * 24)); + var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); + var seconds = Math.floor((distance % (1000 * 60)) / 1000); + + // Display the result in the element with id="demo" + //

Days, " + hours + " Hours, " + minutes + " Minutes, " + seconds + " Seconds" + + // If the count down is finished, write some text + if (distance < 0) { + clearInterval(x); + document.getElementById("countdown").innerHTML = ""; + document.getElementById("untilEvent").innerHTML = "Event Already Happened! Good Luck!"; + } +}, 1000); \ No newline at end of file diff --git a/quoteTyper.js b/scripts/quoteTyper.js similarity index 100% rename from quoteTyper.js rename to scripts/quoteTyper.js diff --git a/scripts/tabs.js b/scripts/tabs.js new file mode 100644 index 0000000..6dbf277 --- /dev/null +++ b/scripts/tabs.js @@ -0,0 +1,66 @@ +const detailElements = Array.from(document.getElementsByTagName("details")); + + +for (let i = 0; i < detailElements.length; i++) { + // alert(detailElements[i].id); + replaceElement(detailElements[i]); +} + +function replaceElement(element) { + const innerHtml = element.innerHTML; + const parent = element.parentElement; + const newElement = document.createElement("div"); + newElement.className = "tabcontent"; + newElement.id = element.id; + newElement.innerHTML = innerHtml; + // alert(newElement.id); // debug + element.replaceWith(newElement); +} + +function switchTo(evt, option) { + // Declare all variables + let i, tabcontent, tablinks; + const key = getKey(option); + + // Get all elements with class="tabcontent" and hide them + tabcontent = document.getElementsByClassName("tabcontent"); + for (i = 0; i < tabcontent.length; i++) { + if (getKey(tabcontent[i].id) === key) { + tabcontent[i].style.display = "none"; + } + } + + // Get all elements with class="tablinks" and remove the class "active" + tablinks = document.getElementsByClassName("tablinks"); + for (i = 0; i < tablinks.length; i++) { + // alert("key = " + key + tablinks[i].id + "i= " + i); + // if (getKey(tablinks[i].id).normalize() === key.normalize()) { + tablinks[i].className = tablinks[i].className.replace(" active", ""); + // } + } + + // Show the current tab, and add an "active" class to the button that opened the tab + document.getElementById(option).style.display = "block"; + // opt.color = "#012265 !important"; + evt.currentTarget.className += " active"; + evt.currentTarget.fontcolor = "#012265 !important;" +} + +let regex = /(\w+)-(\w+)/; + +function getKey(id) { + // alert("tried to get key for " + id); + const match = regex.exec(id); + // alert('id= ' + id + ' match= ' + match); // debug + const key = match[2]; + // const platform = match[1]; + return key; +} + +function getPlatform(id) { + const match = regex.exec(id); + // alert('id= ' + id + ' match= ' + match); // debug + let key = match[2]; + let platform = match[1]; + return platform; +} \ No newline at end of file diff --git a/sponsors/Sponsors.html b/sponsors/Sponsors.html new file mode 100644 index 0000000..fac0c02 --- /dev/null +++ b/sponsors/Sponsors.html @@ -0,0 +1,64 @@ +--- +permalink: /sponsors/ +layout: default +--- +
+
+

Thanks to all our sponsors!

+ +
+
diff --git a/SponsorImages/3dny.png b/sponsors/img/3dny.png similarity index 100% rename from SponsorImages/3dny.png rename to sponsors/img/3dny.png diff --git a/SponsorImages/Apple.png b/sponsors/img/Apple.png similarity index 100% rename from SponsorImages/Apple.png rename to sponsors/img/Apple.png diff --git a/SponsorImages/BneiAkiva.png b/sponsors/img/BneiAkiva.png similarity index 100% rename from SponsorImages/BneiAkiva.png rename to sponsors/img/BneiAkiva.png diff --git a/SponsorImages/Conlog.png b/sponsors/img/Conlog.png similarity index 100% rename from SponsorImages/Conlog.png rename to sponsors/img/Conlog.png diff --git a/SponsorImages/LamedKaf.png b/sponsors/img/LamedKaf.png similarity index 100% rename from SponsorImages/LamedKaf.png rename to sponsors/img/LamedKaf.png diff --git a/SponsorImages/Modiin.png b/sponsors/img/Modiin.png similarity index 100% rename from SponsorImages/Modiin.png rename to sponsors/img/Modiin.png diff --git a/SponsorImages/Sagol.png b/sponsors/img/Sagol.png similarity index 100% rename from SponsorImages/Sagol.png rename to sponsors/img/Sagol.png diff --git a/SponsorImages/SolidWorks.png b/sponsors/img/SolidWorks.png similarity index 100% rename from SponsorImages/SolidWorks.png rename to sponsors/img/SolidWorks.png diff --git a/SponsorImages/Tevel.png b/sponsors/img/Tevel.png similarity index 100% rename from SponsorImages/Tevel.png rename to sponsors/img/Tevel.png diff --git a/SponsorImages/bakara.png b/sponsors/img/bakara.png similarity index 100% rename from SponsorImages/bakara.png rename to sponsors/img/bakara.png diff --git a/SponsorImages/glatil.png b/sponsors/img/glatil.png similarity index 100% rename from SponsorImages/glatil.png rename to sponsors/img/glatil.png diff --git a/SponsorImages/gotlib.png b/sponsors/img/gotlib.png similarity index 100% rename from SponsorImages/gotlib.png rename to sponsors/img/gotlib.png diff --git a/SponsorImages/saiktiv.png b/sponsors/img/saiktiv.png similarity index 100% rename from SponsorImages/saiktiv.png rename to sponsors/img/saiktiv.png diff --git a/tutorials/git/commit.md b/tutorials/git/commit.md new file mode 100644 index 0000000..cf2a32a --- /dev/null +++ b/tutorials/git/commit.md @@ -0,0 +1,60 @@ +--- +permalink: /tutorials/git/commit.html +layout: tutorial +--- +Commits can be thought of as points in the history of the repository, or groups of changes. +Each commit should be given a meaningful name that sums up the changes in that commit. +Please avoid situations like this: + +![xkcd](https://imgs.xkcd.com/comics/git_commit.png) + +Before creating the commit itself, you can choose what changes will be _`add`ed_ to the commit. + +
+ + + +
+ +
+ +To add files and changes, use `git add`: +```ps +git add file1 file2 file3 +``` +> The `*` wildcard can be used to replace any amount of characters: +`git add *.java` will add all Java files in the project. + +To create a commit, use `git commit`: +```ps +git commit -m "message" +``` + +
+
+ +Use the checkboxes on the left to select the files to add. +Write the commit message at the bottom, and press `Commit`. + +[](img/ghd-commit.png) + +
+
+ +> In IntelliJ 2020.3 and later, there are two git interfaces. +You can switch between the two by checking `Version Control > Commit > Use non-modal commit interface` +and `Version Control > Git > Enable staging area` in the settings. + +Click the green checkmark at the top-right. + +A window (the modal commit interface), or a panel on the left (the non-modal commit interface) should open. +Select the files and changes to commit with the checkboxes (staging area disabled), or by moving +changes to the `Staged` list with the `+` and `-` (staging area enabled - changes in `Staged` will be committed). + +In both, you can double-click a file name to see the changes. + +Write the commit message and press `Commit`. + +
+ +
\ No newline at end of file diff --git a/tutorials/git/create-branch.md b/tutorials/git/create-branch.md new file mode 100644 index 0000000..a4cfe30 --- /dev/null +++ b/tutorials/git/create-branch.md @@ -0,0 +1,112 @@ +--- +permalink: /tutorials/git/create-branch.html +layout: tutorial +--- +Creating a new branch allows you to add commits on a parallel version of the repository. +This can be used to test new features and not affect the `main` branch. +Later, the changes made in the branch can be added to the `main` branch once they are tested. + +### Specifying the branch base +Before creating a new branch, you want to make sure that you are _basing_ the branch on the right commit - the last commit on the `main` branch. The _base_ commit of a branch is the last commit that is shared with the other branches. A branch can be moved to a different _base_ using _`rebase`_, but rebasing should be avoided unless needed. + +##### Pulling `origin` +To make sure that we are on the latest `main`, we _`pull`_ the latest changes from GitHub (`origin`): + +
+ + + +
+ +
+ +```ps +git pull origin +``` + +
+
+ +![](img/ghd-pull.png) + +Click `Fetch Origin`. + +
+
+ +The current branch name should be in the bottom-left corner. + +![](img/ij-pull.png) + +If prompted, select `Rebase`. + +
+ +##### Switching to `main` +We can make sure we're on `main` (in older repositories the main branch might be named `master`): + +
+ + + +
+ +
+ +This command in any console (CMD, Powershell, Bash) will switch to the `main` branch. +```ps +git switch main +``` + +
+
+ +![](img/ghd-branch.png) + +If a different branch name is displayed, switch to `main` by clicking on the display and selecting +`main`. + +
+
+ +The current branch name should be in the bottom-left corner. + +![](img/ij-branch.png) + +If a different branch name is displayed, switch to `main` by opening the Branches panel (click on +the branch name) and then select `main > Checkout`. + +
+ +### Creating a new branch +Now that we have the right base, create a new branch: + +
+ + + +
+ +
+ +This command will create a new branch named `mybranch` based on the current one. +```ps +git switch -c mybranch +``` + +
+
+ +![](img/ghd-create-branch.png) + +Click `New Branch` and enter the name for the new branch. + +
+
+ +Open `Git > New Branch` from the top menu, and enter a name for the new branch. +Leave the `Checkout Branch` checkbox selected - otherwise you won't be switched to the new branch. + +
+ +
\ No newline at end of file diff --git a/tutorials/git/git.json b/tutorials/git/git.json new file mode 100644 index 0000000..a7f16ce --- /dev/null +++ b/tutorials/git/git.json @@ -0,0 +1,44 @@ +--- +layout: load-tutorial +permalink: /tutorials/git/load-tutorial.js +--- +{ + "name": "git", + "articles": [ + { + "index": 0, + "file": "/tutorials/git/create-branch.html", + "name": "Create a Branch" + }, + { + "index": 1, + "file": "/tutorials/git/commit.html", + "name": "Add and Commit Changes" + }, + { + "index": 2, + "file": "/tutorials/git/push.html", + "name": "Push Commits" + }, + { + "index": 3, + "file": "/tutorials/git/create-pr.html", + "name": "Submit a Pull Request" + }, + { + "index": 4, + "file": "/tutorials/git/reviews.html", + "name": "Reviews" + }, + { + "index": 5, + "file": "/tutorials/git/rebase.html", + "name": "Rebase" + }, + { + "index": 6, + "file": "/tutorials/git/squash-merge.html", + "name": "Squash/Merge PR" + } + ] +} diff --git a/tutorials/git/img/create-pr.png b/tutorials/git/img/create-pr.png new file mode 100644 index 0000000..15d186b Binary files /dev/null and b/tutorials/git/img/create-pr.png differ diff --git a/tutorials/git/img/ghd-branch.png b/tutorials/git/img/ghd-branch.png new file mode 100644 index 0000000..1e4d44e Binary files /dev/null and b/tutorials/git/img/ghd-branch.png differ diff --git a/tutorials/git/img/ghd-commit.png b/tutorials/git/img/ghd-commit.png new file mode 100644 index 0000000..f44aa67 Binary files /dev/null and b/tutorials/git/img/ghd-commit.png differ diff --git a/tutorials/git/img/ghd-create-branch.png b/tutorials/git/img/ghd-create-branch.png new file mode 100644 index 0000000..46692ab Binary files /dev/null and b/tutorials/git/img/ghd-create-branch.png differ diff --git a/tutorials/git/img/ghd-pr.png b/tutorials/git/img/ghd-pr.png new file mode 100644 index 0000000..4b967c8 Binary files /dev/null and b/tutorials/git/img/ghd-pr.png differ diff --git a/tutorials/git/img/ghd-pull.png b/tutorials/git/img/ghd-pull.png new file mode 100644 index 0000000..ce98178 Binary files /dev/null and b/tutorials/git/img/ghd-pull.png differ diff --git a/tutorials/git/img/ghd-push.png b/tutorials/git/img/ghd-push.png new file mode 100644 index 0000000..24bacee Binary files /dev/null and b/tutorials/git/img/ghd-push.png differ diff --git a/tutorials/git/img/git-logo.png b/tutorials/git/img/git-logo.png new file mode 100644 index 0000000..c8586d0 Binary files /dev/null and b/tutorials/git/img/git-logo.png differ diff --git a/tutorials/git/img/git-process.drawio.svg b/tutorials/git/img/git-process.drawio.svg new file mode 100644 index 0000000..344abac --- /dev/null +++ b/tutorials/git/img/git-process.drawio.svg @@ -0,0 +1,3 @@ + + +
Create Branch
Create Branch
Edit Files
Edit Files
Add & Commit Changes
Add & Commit Chan...
Push Commits
Push Commits
Submit PR
Submit PR
Reviews
Reviews
Address Reviews
Address Reviews
Rebase
Rebase
Squash & Merge
Squash & Merge
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/tutorials/git/img/git-workflow.drawio.svg b/tutorials/git/img/git-workflow.drawio.svg new file mode 100644 index 0000000..d7951d1 --- /dev/null +++ b/tutorials/git/img/git-workflow.drawio.svg @@ -0,0 +1,3 @@ + + +
master
master
example
example
The main branch
The main branch
Your feature branch
Your feature branch
Squash PR into main
Squash PR into main
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/tutorials/git/img/ij-branch.png b/tutorials/git/img/ij-branch.png new file mode 100644 index 0000000..b250052 Binary files /dev/null and b/tutorials/git/img/ij-branch.png differ diff --git a/tutorials/git/img/ij-create-branch.png b/tutorials/git/img/ij-create-branch.png new file mode 100644 index 0000000..288bb77 Binary files /dev/null and b/tutorials/git/img/ij-create-branch.png differ diff --git a/tutorials/git/img/ij-forcepush.png b/tutorials/git/img/ij-forcepush.png new file mode 100644 index 0000000..b73dd91 Binary files /dev/null and b/tutorials/git/img/ij-forcepush.png differ diff --git a/tutorials/git/img/ij-pull.png b/tutorials/git/img/ij-pull.png new file mode 100644 index 0000000..40d17c2 Binary files /dev/null and b/tutorials/git/img/ij-pull.png differ diff --git a/tutorials/git/img/ij-push.png b/tutorials/git/img/ij-push.png new file mode 100644 index 0000000..93cea1e Binary files /dev/null and b/tutorials/git/img/ij-push.png differ diff --git a/tutorials/git/img/ij-rebase.png b/tutorials/git/img/ij-rebase.png new file mode 100644 index 0000000..dfebedf Binary files /dev/null and b/tutorials/git/img/ij-rebase.png differ diff --git a/tutorials/git/img/merge.png b/tutorials/git/img/merge.png new file mode 100644 index 0000000..4524954 Binary files /dev/null and b/tutorials/git/img/merge.png differ diff --git a/tutorials/git/img/rebase-diagram.png b/tutorials/git/img/rebase-diagram.png new file mode 100644 index 0000000..317017b Binary files /dev/null and b/tutorials/git/img/rebase-diagram.png differ diff --git a/tutorials/git/img/review-line.png b/tutorials/git/img/review-line.png new file mode 100644 index 0000000..2096803 Binary files /dev/null and b/tutorials/git/img/review-line.png differ diff --git a/tutorials/git/img/submit-review.png b/tutorials/git/img/submit-review.png new file mode 100644 index 0000000..b34533c Binary files /dev/null and b/tutorials/git/img/submit-review.png differ diff --git a/tutorials/git/index.md b/tutorials/git/index.md new file mode 100644 index 0000000..3d17b99 --- /dev/null +++ b/tutorials/git/index.md @@ -0,0 +1,33 @@ +--- +permalink: /tutorials/git/ +layout: tutorial +--- +# Git Tutorial +A general explanation about git can be found below. +This tutorial explains the different stages of working with git in our team. +This graph shows the process. + +![](img/git-process.drawio.svg) + +# Git & GitHub +[Git](https://git-scm.com/) is the version control system (VCS) that we use for team code, and we host our git repositories on [GitHub](https://github.com). + +Some git terminology: +- **`repository`** (**`repo`**) - the project folder. +- **`commit`** - a group of changes that do something / a point in the history of the repo. +- **`branch`** - a commit history of the repo. +- **`clone`** - create a local copy of the repository. +- **`push`** - update the remote repository with your local changes. +- **`pull`** - update your local repository with the remote changes. +- **`pull request`** (**`PR`**) - a request to merge the changes in a branch to the main branch. + +[frc-docs](https://docs.wpilib.org/en/stable/docs/software/basic-programming/git-getting-started.html) +has a good explanation of Git basics and a tutorial for creating your first repository. + +[k88hudson/git-flight-rules](https://github.com/k88hudson/git-flight-rules/blob/master/README.md) is +also a good reference on how to do stuff in git. + +This tutorial is for creating Pull Requests based on our Git workflow. +Our git workflow: + +![](img/git-workflow.drawio.svg) \ No newline at end of file diff --git a/tutorials/git/pr.md b/tutorials/git/pr.md new file mode 100644 index 0000000..a3a79e4 --- /dev/null +++ b/tutorials/git/pr.md @@ -0,0 +1,68 @@ +--- +permalink: /tutorials/git/create-pr.html +layout: tutorial +--- +After [pushing](./push.html) your changes to GitHub, you can ask the repo admin to accept your changes. +This is done with a _Pull Request_ (often called a PR). +A Pull Request has a _base branch_ (the branch that you want to add changes to, the one you created +a branch from [here](./create-branch.md)), and a _compare branch_ (the branch with your changes, the one you created). + +> You can open a Pull Request inside IntelliJ with the same fields, details at [the bottom of the page](#creating-a-pull-request-in-intellij). + +You can always open a Pull Request from [GitHub.com](https://github.com) by going to the `Pull Requests` tab on the repository page. + +When pushing a branch from the terminal or from GitHub Desktop you can also open a PR right away: +
+ + +
+
+ +In the terminal, a similar message will be printed (the line starting with `$>` is the push command). +```ps +$> git push --set-upstream origin mybranch + +Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 +remote: +remote: Create a pull request for 'mybranch' on GitHub by visiting: +remote: https://github.com/ExcaliburFRC/FRC-Curriculum/pull/new/mybranch +remote: +To https://github.com/ExcaliburFRC/FRC-Curriculum.git + * [new branch] mybranch -> mybranch +Branch 'mybranch' set up to track remote branch 'mybranch' from 'origin'. +``` +As explained by the message, the first link will open [GitHub](https://github.com) with options to create a Pull Request. + +
+
+ +![](img/ghd-pr.png) + +Clicking on `Create Pull Request` will open [GitHub](https://github.com) with options to create a Pull Request. + +
+ +### Comparing Changes +Once you get to the `Compare Changes` page, make sure that `base` is set to `main` (or `master` in older repositories) and `compare` is set to your branch. + +![](img/create-pr.png) + +A preview of the changes should appear below - additions in green and deletions in red. +Then click on `Create Pull Request`, and enter a name and description for your PR. + +##### Naming Pull Requests +Pull Requests have the same naming guidelines as commits (you'll see why later in [Squash/Merge](./squash-merge.html)) - it should summarize the changes done in the PR. +- Some good examples: `Add Drive System`, `Change Shooter motor type`, `Update WPI Version`. +- Some bad examples: `fix error`, `door open`, `Auto.java`. + +##### Linking Issues +If the Pull Request fixes an Issue (most do), GitHub can automatically close the Issue once the PR is accepted. +Adding `Fixes #num` to the PR description (`num` is the Issue number, all Issues have one) will link that Issue to the Pull Request. + +### Creating a Pull Request in IntelliJ +> This can be done in IntelliJ versions 2020.3 and up. + +> You need to be signed in to IntelliJ with your GitHub account for this. + +Open `Git > GitHub > Create Pull Request` from the top menu, and fill the fields. + diff --git a/tutorials/git/push.md b/tutorials/git/push.md new file mode 100644 index 0000000..372e85c --- /dev/null +++ b/tutorials/git/push.md @@ -0,0 +1,49 @@ +--- +permalink: /tutorials/git/push.html +layout: tutorial +--- +Once you have commits, you can `push` them to the remote (`origin` - GitHub): + +
+ + + +
+ +
+ +To push all local commits to the remote: +```ps + git push +``` +If this is the first time the branch is pushed, it will likely fail: +```ps +fatal: The current branch mybranch has no upstream branch. + To push the current branch and set the remote as upstream, use + + git push --set-upstream origin mybranch +``` +This is because `mybranch` doesn't have a remote counterpart yet. +The error message gives all the information needed: to push and set the remote branch use +```ps +git push --set-upstream origin mybranch +``` + + +
+
+ +Click `Push to origin`. + +![](img/ghd-push.png) + +
+
+ +Click the green arrow at the top-right, then click `Push` in the dialog. + +![](img/ij-push.png) + +
+ +
\ No newline at end of file diff --git a/tutorials/git/rebase.md b/tutorials/git/rebase.md new file mode 100644 index 0000000..a4e0894 --- /dev/null +++ b/tutorials/git/rebase.md @@ -0,0 +1,82 @@ +--- +permalink: /tutorials/git/rebase.html +layout: tutorial +--- +The `rebase` operation moves the base commit of the branch. +It takes all each commit and applies its changes on the new base commit instead of on the old one. +Usually, rebasing will be done onto a branch and not an actual commit - the new base commit will be the currently-latest commit on that branch. + + + +### When are `rebase`s needed? +The main cause for needing to `rebase` is if the base branch (usually `origin/main`) of a Pull Request (PR) has commits added to it before the PR is merged. +When this happens, the PR branch (for example, `mybranch`) should be rebased on the commits that have been added to the base branch. +This is why you fetch the latest `origin/main` and then rebase onto it. + +##### Pull +Before rebasing, make sure that `origin/main` is up-to-date and that you are on the branch you want to rebase (here: `mybranch`). +That is covered [here](./create-branch.html#pulling-codeorigincode). +Then we will rebase `mybranch` onto `origin/main`. + +### Rebase +
+ + + +
+ +
+ +```ps +git rebase origin/main +``` + +
+
+ +Click on `Branch > Rebase current branch`, select the branch to rebase onto, and click `Start rebase`. + +
+
+ +Open `Git > Rebase` from the top menu, and select `origin/main` (the new base). + +
+ +--- + +##### Force-Push +After rebasing, we will need to _force-push_ - the commit history of our branch changed, so GitHub will reject a normal `push`. + +## **!!! Be careful with force-pushing !!!** +## **!!! It can delete your work forever !!!** + +
+ + + +
+ +
+ +```ps +git push --force-with-lease +``` + +
+
+ +GitHub Desktop does not support force-pushing. Use the terminal/command-line or IntelliJ. + +
+
+ +As with regular `push`ing, click on the green arrow on the top-left corner of the screen to open the push dialog. +Unlike with regular pushing, click on the triangle next to `Push` and click on `Force Push`. + +![](img/ij-forcepush.png) + +
+ +--- + diff --git a/tutorials/git/reviews.md b/tutorials/git/reviews.md new file mode 100644 index 0000000..050ffff --- /dev/null +++ b/tutorials/git/reviews.md @@ -0,0 +1,38 @@ +--- +permalink: /tutorials/git/reviews.html +layout: tutorial +--- +After you open a Pull Request, others can review it. Similarly, you can review Pull Requests made by other people. + +Open the PR's page, and switch to the `Files Changed` tab. This page will show all changes made by +the Pull Request, additions in green and deletions in red. + +### Adding a Review +Hover on a line in the change view, and click on the blue `+` icon that appears. You can select multiple lines by dragging the blue plus. +A review panel with open, with a textbox where you can write specific feedback on that change. + +##### Suggesting Changes +You can also suggest a change by clicking on the file icon with a plus and a minus. + +![](img/review-line.png) + +This will add a MarkDown codebox with the selected line of code. Edits made to the line of code will +be added as suggestions. + +Unless it is a single comment, click `Start a review`. + +##### Submit a Review +After adding all your review comments, click on `Review Changes` at the top of the page. You can write a general message for the review in the text box. + +![](img/submit-review.png) + +Then you have three options: +- `Comment`: general feedback (this is the least used option). +- `Approve`: approve the changes, allows the PR to be merged into the repository. +- `Request Changes`: request changes/fixes, prevents the PR from being merged. + +### Addressing reviews +Line-specific reviews will be shown in the `Files` tab, and you can reply directly (each review has a chat box). +You can commit suggestions directly from GitHub by clicking `Commit Suggestion`, or add multiple suggestions in the same commit from the `Files` tab by clicking `Add to batch` on each suggestion and then `Commit Batch`. +Don't forget to `pull` those commits to your computer before making more changes. +After addressing all review comments, you can re-request a review from someone by clicking the arrow circle next to their name. diff --git a/tutorials/git/squash.md b/tutorials/git/squash.md new file mode 100644 index 0000000..aa3e62a --- /dev/null +++ b/tutorials/git/squash.md @@ -0,0 +1,39 @@ +--- +permalink: /tutorials/git/squash-merge.html +layout: tutorial +--- +Once a Pull Request has been [approved](./reviews.html#submit-a-review), it can be merged into the repository. +A Pull Request with requested changes cannot be merged. + +### Merge Methods +There are three ways to merge Pull Request changes to the main repository/branch. +The three types are `merge`, `squash`, and `rebase`: +> Repository/Organization admins can disable any of these options, but at least one must be enabled. + +##### Merge +- adds all commits on branch by a [_merge commit_](https://www.atlassian.com/git/tutorials/using-branches/git-merge) +- keeps individual commits (keeps history of the feature branch) +- considered bad style, as they cause non-linear git histories (the merge commit +has two parent commits), making them harder to debug or revert (undo) + +##### Squash +- squashes all PR changes into a single commit (which is then added to the main repo/branch) +- keeps git history clean and ordered, each PR is a single commit +- you can't revert only part of the Pull Request +- this is the suggested merging method for most Pull Requests + +##### Rebase +- [_rebases_](./rebase.html) all commits and adds them to the main branch/repo +- keeps individual commits +- linear git history (each commit has only one parent commit) + +### Merging a Pull Request +If you have write access to the repository, you can merge Pull Requests (in any of the three methods). +If not (and even if you do), someone else with write access (in an FRC context, likely a mentor or lead programmer). + + + +A `merge` box should appear above the textbox for commenting at the bottom of the PR page. +Click on the small triangle to open the options, and select the merge method you choose. + +### Well done! You've merged your first Pull Request! diff --git a/tutorials/tutorials.html b/tutorials/tutorials.html new file mode 100644 index 0000000..1cacd33 --- /dev/null +++ b/tutorials/tutorials.html @@ -0,0 +1,11 @@ +--- +permalink: /tutorials/ +layout: default +--- +

Team Tutorials

+