Giter VIP home page Giter VIP logo

confluence's Introduction

Confluence '24

Confluence is the name of the annual fest of Hansraj College, University of Delhi. This repo is for the website of the same.

Architecture

This is a simple static website, without many moving parts. It is generally considered a good practice to decouple content and the code. I initially was gravitating towards such a set-up using Keystone.js. I was hoping to expose a GraphQL API to serve the content, with Keystone.js also providing an admin dashboard for data entry and manipulation out-of-the-box. That set-up was turning out to be time-consuming, and, thus, we find ourselves in this rather unwanted situation of having our data and code being figuratively intertwined.

Still, for what it's worth, there is a directory-level division between the logic and the content, which you can appreciate for yourself by browsing the files.

Contributions

If you're looking at this, chances are you wish to make changes to the Confluence website. Also, it is perhaps likely that the nature of the changes that you wish to make is "content-oriented", that is to say, you wish to provide accurate content for the website. Here are the steps to do just that:

  1. Clone this repository (assuming you are a collaborator).
  2. Install dependencies using npm install. Make sure everything is working correctly by running npm run dev to run the development server locally.
  3. Make the desired changes locally by editing the src/content/constants.ts file appropriately.
  4. If some images are to be added, place them in the appropriate directory and then run ./minify-images.bash from Git Bash (in the root directory of this project). This will minify the images, making the website faster. Do not skip the minification.
  5. Commit your changes in this format: content: <message>. If your commit message is not in this format, it will not be accepted by Husky. Sample commit message: content: add information about artists. (Bonus: Write messages in the imperative case, i.e. "add" instead of "added" in the aforementioned example. This is considered a good practice.)
  6. Push your changes back using git push origin main (you may be prompted to login). If the push is not successfull, pull changes into your local repo using git pull origin main, and then try pushing back again. (Resolve any merge conflicts if there are some, although that is not very likely for this project.)
  7. Relax and rejoice.

confluence's People

Contributors

rakshitrabugotra avatar mayankgh7 avatar xylocone avatar confluence24 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.