diff --git a/.github/workflows/upload.yaml b/.github/workflows/upload.yaml index c305017..e5a7f52 100644 --- a/.github/workflows/upload.yaml +++ b/.github/workflows/upload.yaml @@ -4,8 +4,6 @@ name: Upload files to mil.ufl.edu # yamllint disable-line rule:truthy on: push: - branches: - - main jobs: upload: @@ -15,6 +13,18 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: "latest" + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Build site + run: npm run build && cd dist + - name: Install lftp run: sudo apt-get install -y lftp sshpass @@ -23,6 +33,8 @@ jobs: # We need to connect to the server for lftp to be happy, otherwise it # hangs on "Connecting...". Connecting will add the host to # known_hosts. + # Move .htaccess into dist so it gets copied + mv .htaccess dist sshpass -p ${{ secrets.MIL_UFL_SFTP_PASS }} \ sftp -o StrictHostKeyChecking=no \ -P ${{ secrets.MIL_UFL_SFTP_PORT }} mil@mil.ufl.edu << EOF @@ -32,10 +44,9 @@ jobs: -p ${{ secrets.MIL_UFL_SFTP_PORT }} sftp://mil.ufl.edu << EOF mirror -c \ --include='.*' \ - --exclude='^\..*$' \ --exclude='README.md' \ -R --parallel --verbose \ - . \ + dist \ htdocs exit EOF diff --git a/src/blogs/test.md b/src/blogs/test.md new file mode 100644 index 0000000..58eccd2 --- /dev/null +++ b/src/blogs/test.md @@ -0,0 +1,13 @@ +--- +title: "Designing a Ball Shooter from Scratch" +authors: + - name: "Adam McAleer" + profilePic: "members/adam_m.jpeg" +date: "2024-11-15" +--- + +Building a ball shooter from the ground up is an exciting engineering challenge that combines mechanical design, physics, and programming. Whether you’re constructing one for a robotics competition or as part of a creative side project, the journey begins with defining your objectives. Do you need precision for hitting targets, maximum range, or a balance between the two? Answering this question informs the core design choices, from selecting motors and materials to determining the shooter’s geometry. + +The design process starts with a deep dive into the mechanics of launching a ball. One popular approach involves a flywheel system, where spinning wheels impart velocity to the ball as it passes through. Here, factors like wheel diameter, surface material, and rotational speed are critical. Achieving consistent results requires carefully calculating the energy transfer while minimizing slippage. Alternatively, spring-loaded or pneumatic systems offer unique advantages, especially for projects where compact designs or specific power constraints are priorities. Each system has trade-offs that must align with the project’s goals. + +Finally, testing and iteration play an essential role in refining the shooter’s performance. From tweaking angles for optimal trajectories to experimenting with different ball weights and textures, every change offers valuable insights. Throughout this process, collaboration and creativity shine. For example, designing 3D-printed parts to integrate seamlessly with off-the-shelf components or brainstorming unique mechanisms for loading and feeding balls can set your project apart. In the end, the satisfaction of seeing your shooter in action—and hitting its mark—is the ultimate reward.