Code Monkey home page Code Monkey logo

openlib.cs's People

Contributors

aadi1405 avatar abxhr avatar aditya-saxena-7 avatar ahmedthahir avatar cricksmaidiene avatar fir121 avatar kelvindecosta avatar krish054 avatar mohammed-shoaib avatar msaf9 avatar neeteshbhati avatar ppoply avatar shaun-fernandes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openlib.cs's Issues

Create a custom theme for `ACM BPDC`

Custom Theme for ACM BPDC

Now that we have multiple webpages we work with, I guess it's good time to discuss about working with a custom theme applied across our webpages, for the uniformity and aesthetics.

Working on a custom theme would mean planning on items below:

  • Colors
  • Typography (basically the fonts we use and its patterns)
  • Icons
  • Dynamics (animations)
  • Website Design
  • and other miscellaneous things

Let's have a discussion soon about the same! ๐Ÿš€

Change courses to new format

The README for the course Computer Programming has the desired format

The following courses require the mentioned corrections:

Ensure that changes are strict to the format. A few details that might be overlooked:

  • Edition (Year) - Textbooks
  • Content Title, Italicized Author/Organization - Video / Websites / Articles / Code / Apps
  • Prerequisites - Ordering of courses based on those completed for the course followed by those that can be attempted after the course
  • Subsection ordering based on format specified
  • Tabs (please use a decent text editor instead of GitHub's web UI)

Add support for downloading textbooks from Drive urls

The scripts need to be updated.

Download textbooks from Drive URLs

  • Parse the markdown to collect all Drive links to the textbooks
  • Use multithreading to download the files simultaneously
  • Log progress
  • List all local textbook paths in a README that Git ignores
  • Provide instructions on how to use the script

Links Legibility in Dark Theme

Describe the bug
Links are not very legible in dark theme, as there is not enough contrast between color of the link and the background.

To Reproduce

  1. Go to any page with a link
  2. Switch page to dark theme
  3. Look at the link

Expected behavior

Higher contrast. Maybe brighten the link color?

Screenshots

image

Additional Detail

Using online contrast checker tool

image

Apply some style to the site

Apply some style to the site

ICYMI, the library is now a site.
There is some basic functionality.
However, it doesn't look very appealing.

Since this is a Jekyll generated site, it works seamlessly with Sass
Sass is a derivative of CSS and is much more developer
friendly with a Python-like syntax

  • Go nuts on the styles branch of your fork.
  • You might need to mess around with the Liquid templating if you are changing the entire user interface
  • Make changes on your local repository.
  • Turn on your local server and take a look at the site.
  • If things look good, commit and push.
    git commit -m "<Relevant style related message in present tense> : based on #<issue_no>"
    By doing this, all commits related to manipulating styles will be displayed alongside this issue on GitHub.

Clean frontmatter after migrating to website

Clean frontmatter after migrating to website

So, my script definitely achieved its goal of reducing the amount of manual text manipulation.
However, it could only do so much and hence the frontmatter of each course needs to be cleaned

Step 0 - Guidelines

  • When making a commit, refer to this issue.

    git commit -m "Update <course_code> based on #<issue_no>"

    By doing this, all commits related to changing the frontmatter will be displayed alongside this issue on GitHub.
    Do not accidentally close this issue by doing this

  • Stick to the order of attributes shown in the above convention.
    This will improve the efficiency of maintaining the library

  • Avoid typos, especially those on proper nouns.
    After making a change on your local repository, run the local server and take a look at your change.
    If things look good commit and push

  • There may be junk characters in the strings that need to be removed.
    This is due to the inefficiency of the previous method of maintaining the library

  • If necessary, alter the title of a resource so that it makes sense to a user who might not be familiar with the author

  • The author of a learning resource can be an individual or an organization
    If the author of a learning resource is truly anonymous, that attribute should be left blank.

  • Support for viewing remarks is not yet implemented. If you need to further explain a resource add this attribute.

  • Prerequisites are dead. For now.

Step 1 - Code & Title

Ensure that each course has its appropriate code & title in the frontmatter

code: CSF111
title: Computer Programming

Step 2 - Textbooks

Ensure that the frontmatter array textbooks has these attributes

["title", "author", "edition", "year", "url"]
textbooks:
-   title: The C Programming Language
    author: Brian Kernighan & Dennis Ritchie
    edition: 2nd
    year: '1989'
    url: https://drive.google.com/open?id=1KH0i1C8IQ5uKO4zGWRz_mAh4XbQvCaiT
-   title: The C Answer Book
    author: Clovis L. Tondo & Scott E. Gimpel
    edition: 2nd
    year: '1989'
    url: https://drive.google.com/open?id=1gfgZmONMV6ZcG-lIQOe35jiMVqI-MS3p

Step 3 - Source Code

Ensure that the frontmatter array source-code has these attributes

["title", "author", "url"]

Here, author is the username of the author on the respective site

source-code:
-   title: 'CPrograms'
    author: eash-98
    url: https://github.com/eash-98/CPrograms

Step 4 - Videos

Ensure that the frontmatter array videos has these attributes

["title", "author", "url"]

Refer to either single videos or entire playlists

videos:
-   title: 'C Programming & Data Structures'
    author: Neso Academy
    url: https://www.youtube.com/watch?v=4OGMB4Fhh50&list=PLBlnK6fEyqRhX6r2uhhlubuF5QextdCSM
-   title: 'CS50: Introduction to Computer Science'
    author: Harvard
    url: https://www.youtube.com/watch?v=wEdvGqxafq8

Step 5 - Websites

Ensure that the frontmatter array websites has these attributes

["title", "author", "url"]

This section is meant for any webpage or website that may benefit the user

websites:
-   title: 'Algorithms'
    author: HackerRank
    url: https://www.hackerrank.com/domains/algorithms
-   title: 'Bandit'
    author: OverTheWire
    url: http://overthewire.org/wargames/bandit/

Step 6 - Articles

Ensure that the frontmatter array articles has these attributes

["title", "author", "url"]
articles:
-   title: 'Using vi, the Unix Visual Editor'
    author: University of Washington
    url: https://staff.washington.edu/rells/R110/

Step 7 - Communities

Ensure that the frontmatter array communities has these attributes

["title", "url"]
communities:
-   title: r/programming
    url: https://www.reddit.com/r/programming/
-   title: GeeksforGeeks
    url: https://www.geeksforgeeks.org/c-programming-language/

Step 8 - Apps

Ensure that the frontmatter array apps has these attributes

["title", "author", "url"]

The url should not discriminate between users of different mobile operating systems.
Link to the app's website download page to facilitate both users

apps:
-   title: 'Py: Learn on the Go'
    author: 'Py'
    url: https://www.getpy.com/mobile

Mkdocs + Vercel

CC: @kelvindecosta @Mohammed-Shoaib

This repository has been around a while, and at the time I believe there was a github pages deployment as well as a gitbook deployment that we tried out. Since all the courses are markdown files anyway, I wonder if it's worth having a fully deployed mkdocs site, probably using vercel? We can setup github actions to take new commits and deploy them automatically.

Where do we go now?

While migrating from the READMEs to a site, I had a few thoughts:

  • Styling the site would make the library look much better than it does on GitHub

  • Users can still download textbooks.
    The implementation of a script that I had in mind would not provide the control
    a user has when downloading only textbooks of their choice.

The following are some questions I had regarding the advancements of this project :

  • Do we need a section on **Course Prerequisites **?

    The information is useless for people outside of BITS.
    Moreover, before registration, everyone gets a mail that always provides the updated information

    How about we change this section to Related Courses instead?

    The problem with this approach is that the courses in our field are quite well connected.
    In other words, almost everything is related. If we can put forward a concise list of courses
    that are related to a course, it might benefit the user's learning experience.

  • Can we get rid of the old master branch?

    The site can be much more user-friendly than the GitHub README.
    We can merge the gh-pages branch into master to do this.
    All we need is a README in gh-pages

    This leads to the question of a separate library on GitBook.
    Honestly, GitBook sucks

Fix GitHub Pages Deployment

  • Use custom domain instead of github.io
  • Find a good theme for the deployment (mkdocs of jekyll)
  • Setup an environment for CD to the website

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.