Merge pull request #196 from WatchOutNewsAgency/feature/navbar-mobile

Improved Mobile Navbar - Issue #40 (Revamped Navbar with Mobile-First Design)
This commit is contained in:
varunrmallya
2025-06-29 01:06:29 +05:30
committed by GitHub
16 changed files with 1647 additions and 193 deletions

29
.gitignore vendored
View File

@ -1,2 +1,27 @@
_site
.sass-cache
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
# Ignore dependencies
vendor/
.bundle/
node_modules/
package-lock.json
yarn.lock
# Ignore system files
.DS_Store
Thumbs.db
# Ignore logs and temp files
*.log
*.tmp
*.swp
*.swo
# Ignore by editors/IDEs
.vscode/
.idea/
*.iml

View File

@ -1,3 +1,3 @@
source 'http://rubygems.org'
gem 'github-pages', group: :jekyll_plugins
gem 'github-pages', group: :jekyll_plugins

View File

@ -1,97 +1,117 @@
GEM
remote: http://rubygems.org/
specs:
activesupport (6.0.6)
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)
activesupport (7.2.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.2.0)
benchmark (0.4.1)
bigdecimal (3.2.2)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
coffee-script-source (1.12.2)
colorator (1.1.0)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concurrent-ruby (1.1.6)
dnsruby (1.61.3)
addressable (~> 2.5)
em-websocket (0.5.1)
commonmarker (0.23.11)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
csv (3.3.5)
dnsruby (1.72.4)
base64 (~> 0.2.0)
logger (~> 1.6.5)
simpleidn (~> 0.2.1)
drb (2.2.3)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
ethon (0.12.0)
ffi (>= 1.3.0)
http_parser.rb (~> 0)
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.7.0)
faraday (1.0.1)
multipart-post (>= 1.2, < 3)
ffi (1.13.1)
execjs (2.10.0)
faraday (2.13.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.4.1)
net-http (>= 0.5.0)
ffi (1.17.2-x86_64-linux-musl)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (207)
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.13.0)
gemoji (4.1.0)
github-pages (232)
github-pages-health-check (= 1.18.2)
jekyll (= 3.10.0)
jekyll-avatar (= 0.8.0)
jekyll-coffeescript (= 1.2.2)
jekyll-commonmark-ghpages (= 0.5.1)
jekyll-default-layout (= 0.1.5)
jekyll-feed (= 0.17.0)
jekyll-gist (= 1.5.0)
jekyll-github-metadata (= 2.13.0)
jekyll-mentions (= 1.5.1)
jekyll-github-metadata (= 2.16.1)
jekyll-include-cache (= 0.2.1)
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.15.0)
jekyll-redirect-from (= 0.16.0)
jekyll-relative-links (= 0.6.1)
jekyll-remote-theme (= 0.4.1)
jekyll-remote-theme (= 0.4.3)
jekyll-sass-converter (= 1.5.2)
jekyll-seo-tag (= 2.6.1)
jekyll-seo-tag (= 2.8.0)
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.1)
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-theme-architect (= 0.2.0)
jekyll-theme-cayman (= 0.2.0)
jekyll-theme-dinky (= 0.2.0)
jekyll-theme-hacker (= 0.2.0)
jekyll-theme-leap-day (= 0.2.0)
jekyll-theme-merlot (= 0.2.0)
jekyll-theme-midnight (= 0.2.0)
jekyll-theme-minimal (= 0.2.0)
jekyll-theme-modernist (= 0.2.0)
jekyll-theme-primer (= 0.6.0)
jekyll-theme-slate (= 0.2.0)
jekyll-theme-tactile (= 0.2.0)
jekyll-theme-time-machine (= 0.2.0)
jekyll-titles-from-headings (= 0.5.3)
jemoji (= 0.11.1)
kramdown (= 2.3.0)
jemoji (= 0.13.0)
kramdown (= 2.4.0)
kramdown-parser-gfm (= 1.1.0)
liquid (= 4.0.3)
liquid (= 4.0.4)
mercenary (~> 0.3)
minima (= 2.5.1)
nokogiri (>= 1.10.4, < 2.0)
rouge (= 3.19.0)
nokogiri (>= 1.16.2, < 2.0)
rouge (= 3.30.0)
terminal-table (~> 1.4)
github-pages-health-check (1.16.1)
webrick (~> 1.8)
github-pages-health-check (1.18.2)
addressable (~> 2.3)
dnsruby (~> 1.60)
octokit (~> 4.0)
public_suffix (~> 3.0)
octokit (>= 4, < 8)
public_suffix (>= 3.0, < 6.0)
typhoeus (~> 1.3)
html-pipeline (2.14.3)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
i18n (0.9.5)
http_parser.rb (0.8.0)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
jekyll (3.9.0)
jekyll (3.10.0)
addressable (~> 2.4)
colorator (~> 1.0)
csv (~> 3.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
i18n (>= 0.7, < 2)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (>= 1.17, < 3)
@ -100,28 +120,31 @@ GEM
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-avatar (0.7.0)
webrick (>= 1.0)
jekyll-avatar (0.8.0)
jekyll (>= 3.0, < 5.0)
jekyll-coffeescript (1.1.1)
jekyll-coffeescript (1.2.2)
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.13.0)
coffee-script-source (~> 1.12)
jekyll-commonmark (1.4.0)
commonmarker (~> 0.22)
jekyll-commonmark-ghpages (0.5.1)
commonmarker (>= 0.23.7, < 1.1.0)
jekyll (>= 3.9, < 4.0)
jekyll-commonmark (~> 1.4.0)
rouge (>= 2.0, < 5.0)
jekyll-default-layout (0.1.5)
jekyll (>= 3.0, < 5.0)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
jekyll-gist (1.5.0)
octokit (~> 4.2)
jekyll-github-metadata (2.13.0)
jekyll-github-metadata (2.16.1)
jekyll (>= 3.4, < 5.0)
octokit (~> 4.0, != 4.4.0)
jekyll-mentions (1.5.1)
octokit (>= 4, < 7, != 4.4.0)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-mentions (1.6.0)
html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0)
jekyll-optional-front-matter (0.3.2)
@ -129,127 +152,129 @@ GEM
jekyll-paginate (1.1.0)
jekyll-readme-index (0.3.0)
jekyll (>= 3.0, < 5.0)
jekyll-redirect-from (0.15.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.1)
jekyll-remote-theme (0.4.3)
addressable (~> 2.0)
jekyll (>= 3.5, < 5.0)
rubyzip (>= 1.3.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-seo-tag (2.8.0)
jekyll (>= 3.8, < 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-theme-architect (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-cayman (0.1.1)
jekyll (~> 3.5)
jekyll-theme-cayman (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-dinky (0.1.1)
jekyll (~> 3.5)
jekyll-theme-dinky (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-hacker (0.1.1)
jekyll (~> 3.5)
jekyll-theme-hacker (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-leap-day (0.1.1)
jekyll (~> 3.5)
jekyll-theme-leap-day (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-merlot (0.1.1)
jekyll (~> 3.5)
jekyll-theme-merlot (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-midnight (0.1.1)
jekyll (~> 3.5)
jekyll-theme-midnight (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-minimal (0.1.1)
jekyll (~> 3.5)
jekyll-theme-minimal (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-modernist (0.1.1)
jekyll (~> 3.5)
jekyll-theme-modernist (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-primer (0.5.4)
jekyll-theme-primer (0.6.0)
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-theme-slate (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-tactile (0.1.1)
jekyll (~> 3.5)
jekyll-theme-tactile (0.2.0)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-time-machine (0.1.1)
jekyll (~> 3.5)
jekyll-theme-time-machine (0.2.0)
jekyll (> 3.5, < 5.0)
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.11.1)
gemoji (~> 3.0)
jemoji (0.13.0)
gemoji (>= 3, < 5)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
kramdown (2.3.0)
json (2.12.2)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.1)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.6)
mercenary (0.3.6)
mini_portile2 (2.8.0)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.16.3)
multipart-post (2.1.1)
nokogiri (1.13.10)
mini_portile2 (~> 2.8.0)
minitest (5.25.5)
net-http (0.6.0)
uri
nokogiri (1.18.8-x86_64-linux-musl)
racc (~> 1.4)
octokit (4.18.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.1.1)
racc (1.6.1)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
public_suffix (5.1.1)
racc (1.8.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.19.0)
ruby-enum (0.8.0)
i18n
rubyzip (2.3.2)
rexml (3.4.1)
rouge (3.30.0)
rubyzip (2.4.1)
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)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
faraday (>= 0.17.3, < 3)
securerandom (0.4.1)
simpleidn (0.2.3)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.4.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (1.2.7)
thread_safe (~> 0.1)
unicode-display_width (1.7.0)
zeitwerk (2.6.6)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (1.8.0)
uri (1.0.3)
webrick (1.9.1)
PLATFORMS
ruby
x86_64-linux-musl
DEPENDENCIES
github-pages
BUNDLED WITH
2.3.26
2.3.25

115
README.md Normal file
View File

@ -0,0 +1,115 @@
# WONA GitHub Website
A Jekyll-based static website for Watch Out News Agency.
## Project Structure
### Root Files
- `_config.yml` - Jekyll configuration file with site settings, plugins, and build options
- `index.html` - Homepage template
- `404.html` - Custom 404 error page
- `Gemfile` - Ruby dependencies specification
- `Gemfile.lock` - Locked dependency versions
- `sitemap.xml` - XML sitemap for search engines
- `atom.xml` - RSS/Atom feed for content syndication
- `favicon.ico` - Website favicon
- `CNAME` - Custom domain configuration for GitHub Pages
### Directories
#### `_includes/`
Reusable HTML components that can be included in layouts and pages:
- `cat_header.html` - Category page header
- `footer.html` - Site footer
- `google_analytics.html` - Google Analytics tracking code
- `head.html` - HTML head section with meta tags and stylesheets
- `header.html` - Site header and navigation
- `horizontal_post.html` - Horizontal post layout component
- `navbar.html` - Navigation bar component
#### `_layouts/`
Page templates that define the structure for different content types:
- `category.html` - Template for category archive pages
- `layout.html` - Base layout template
- `post.html` - Individual blog post template
#### `_posts/`
Markdown files containing blog posts and articles (follows Jekyll naming convention: `YYYY-MM-DD-title.md`)
#### `_sass/`
SCSS stylesheets organized by component:
- `bootstrap/` - Bootstrap framework styles
- `_bootstrap.scss` - Bootstrap imports
- `css/` - Custom stylesheets
- `base.scss` - Base styles and variables
- `fontawesome.min.css` - Font Awesome icons
- `mobile.css` - Mobile-responsive styles
- `posts.css` - Post-specific styling
- `pure.css` - Pure CSS framework
- `pygments.css` - Syntax highlighting styles
- `table.css` - Table styling
#### Content Directories
- `edc/` - EDC (Editorial Development Cell) related content
- `fonts/` - Custom web fonts
- `getinvolved/` - Pages about getting involved with WONA
- `guide/` - User guides and documentation
- `images/` - Static images and media files
- `js/` - JavaScript files
- `news/` - News articles and posts
- `team/` - Team member profiles and information
#### Styling
- `table.css` - Standalone CSS file for table styling
## Installation
### Prerequisites
- [Docker](https://www.docker.com/get-started) installed on your system
- Git (to clone the repository)
### Setup Steps
1. **Clone the repository**
```bash
git clone https://github.com/WatchOutNewsAgency/wona.github.com.git
cd wona.github.com
```
2. **Run with Docker**
```bash
docker run --rm -it \
-v "${PWD}:/srv/jekyll" \
-p 4000:4000 \
jekyll/jekyll:4 \
jekyll serve --host 0.0.0.0
```
- If you might face error in dockerization use this instead: jekyll/jekyll:3
- This command will start a Jekyll server, serving your site at 4000 port
- If any other error, all the best debugging
3. **Access the site**
- Open your browser and navigate to `http://localhost:4000`
- The site will automatically rebuild when you make changes to files
### Docker Command Explanation
- `--rm` - Automatically remove the container when it exits
- `-it` - Interactive terminal mode
- `-v "${PWD}:/srv/jekyll"` - Mount current directory to Jekyll's working directory in container
- `-p 4000:4000` - Map port 4000 from container to host
- `jekyll/jekyll:4` - Use Jekyll Docker image version 4
- `jekyll serve --host 0.0.0.0` - Start Jekyll development server accessible from all network interfaces
### Development Notes
- Changes to `_config.yml` require a server restart
- New posts in `_posts/` will be automatically detected
- CSS/SCSS changes will trigger automatic regeneration
- Press `Ctrl+C` to stop the development server
### Troubleshooting
- If port 4000 is already in use, change `-p 4000:4000` to `-p 4001:4000` and access via `http://localhost:4001`
- On Windows, use PowerShell or Command Prompt
- Ensure Docker Desktop is running before executing the command
## Repository
[https://github.com/WatchOutNewsAgency/wona.github.com](https://github.com/WatchOutNewsAgency/wona.github.com)

View File

@ -21,9 +21,9 @@ defaults:
is_category_page: true
layout: category
name: Watch Out, IIT Roorkee
title: Watch Out, IIT Roorkee
url: http://watchout.iitr.ac.in
gems: [jekyll-paginate]
plugins: [jekyll-paginate]
description: The official news magazine of IIT Roorkee.
paginate: 10
paginate_path: "/page/:num"

View File

@ -7,7 +7,7 @@
<div class="desc">Student Media<br>Body of IITR</div>
</div>
</div>
<div class="social pull-right">
<div class="social pull-right hidden-xs">
<!-- <a href="/team">Team</a> -->
<a href="/about">About</a>
<a href="/guide">Guide</a>

View File

@ -13,7 +13,7 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>
{{ title }}
@ -43,12 +43,13 @@
<meta name="author" content="{{ site.name }}" />
<meta name="description" content="{{ desc }}" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="alternate" type="application/rss+xml" href="/atom.xml" />
<link rel="stylesheet" href="{{ '/css/base.css' | relative_url }}">
<link rel="stylesheet" href="/css/base.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="/css/table.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="/css/posts.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="/css/mobile.css" type="text/css" media="screen and (max-width: 768px)" />
<script type="text/javascript" src="/js/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="/js/bootstrap.min.js"></script>

View File

@ -1,5 +1,5 @@
{% assign post = include.post %}
<div class="row article article-horiozntal">
<div class="row article article-horizontal">
<div class="col-md-4 center-fill-container img-container">
<img src="/images/posts/{{post.image}}" alt="" class="img-center-fill center-both {% if post.image == null %}hidden{% endif %}">
</div>

View File

@ -8,7 +8,16 @@
</div>
</div>
</a>
<div class="social pull-right">
<!-- Mobile toggle button -->
<button type="button" class="navbar-toggle visible-xs" id="mobile-menu-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="social pull-right hidden-xs">
<a href="/about">About</a>
<a href="/guide">Guide</a>
<a href="/getinvolved">Get Involved</a>
@ -18,7 +27,47 @@
</div>
</div>
<nav class="navbar navbar-default" data-spy="affix" data-offset-top="110">
<!-- Mobile navigation overlay -->
<div class="mobile-nav-overlay visible-xs" id="mobile-nav-overlay"></div>
<!-- Mobile navigation slider -->
<div class="mobile-nav visible-xs" id="mobile-nav">
<div class="mobile-nav-header">
<span class="mobile-nav-title">Menu</span>
<button class="mobile-nav-close" id="mobile-nav-close">&times;</button>
</div>
<ul class="nav">
{% for cat in site.data.categories %}
{% if cat.subcategories != nil %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-category="{{ cat.name }}">{{ cat.title }}</a>
<ul class="dropdown-menu">
{% for subcat in cat.subcategories %}
{% if site.categories[subcat.name] != nil %}
<li><a href="/category/{{ subcat.name }}/">{{ subcat.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
</li>
{% elsif site.categories[cat.name] != nil%}
<li><a href="/category/{{ cat.name }}/">{{ cat.title }}</a></li>
{% endif %}
{% endfor %}
</ul>
<div class="mobile-nav-social">
<a href="/about">About</a>
<a href="/guide">Guide</a>
<a href="/getinvolved">Get Involved</a>
<br><br>
<a href="http://fb.com/watchoutiitr"><img src="/images/fb-logo.svg" alt="Facebook"></a>
<a href="https://www.youtube.com/channel/UCthZ7tKOzy4EJpuVxtdcp1A"><img src="/images/youtube-play.svg" alt="YouTube"></a>
<a href="mailto:watchout@iitr.ac.in"><img src="/images/email.png" width="20px" alt="Email"></a>
</div>
</div>
<nav class="navbar navbar-default hidden-xs" data-spy="affix" data-offset-top="110">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"
@ -28,15 +77,13 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- <a class="navbar-brand" href="/">Watch Out!</a> -->
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right hacky-css">
{% for cat in site.data.categories %}
{% if cat.subcategories != nil %}
<li class="dropdown">
<a class="hover-underline" href="#" class="dropdown-toggle" data-toggle="dropdown">{{ cat.title }} <span
class="caret"></span></a>
<a class="hover-underline dropdown-toggle" href="#" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ cat.title }} <span class="caret"></span></a>
<ul class="dropdown-menu">
{% for subcat in cat.subcategories %}
{% if site.categories[subcat.name] != nil %}
@ -51,6 +98,116 @@
{% endfor %}
</ul>
</div>
<!--/.nav-collapse -->
</div>
</nav>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Mobile menu elements
const mobileToggle = document.getElementById('mobile-menu-toggle');
const mobileNav = document.getElementById('mobile-nav');
const mobileNavOverlay = document.getElementById('mobile-nav-overlay');
const mobileNavClose = document.getElementById('mobile-nav-close');
// Function to open mobile menu
function openMobileMenu() {
if (mobileNav && mobileNavOverlay) {
mobileNav.classList.add('show');
mobileNavOverlay.classList.add('show');
mobileToggle.classList.add('active');
document.body.style.overflow = 'hidden'; // Prevent body scroll
}
}
// Function to close mobile menu
function closeMobileMenu() {
if (mobileNav && mobileNavOverlay) {
mobileNav.classList.remove('show');
mobileNavOverlay.classList.remove('show');
mobileToggle.classList.remove('active');
document.body.style.overflow = ''; // Restore body scroll
// Close all open dropdowns
const openDropdowns = document.querySelectorAll('.mobile-nav .dropdown.open');
openDropdowns.forEach(function(dropdown) {
dropdown.classList.remove('open');
});
}
}
// Mobile menu toggle functionality
if (mobileToggle) {
mobileToggle.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
if (mobileNav.classList.contains('show')) {
closeMobileMenu();
} else {
openMobileMenu();
}
});
}
// Close button functionality
if (mobileNavClose) {
mobileNavClose.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
closeMobileMenu();
});
}
// Overlay click to close
if (mobileNavOverlay) {
mobileNavOverlay.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
closeMobileMenu();
});
}
// Mobile dropdown functionality
const dropdownToggles = document.querySelectorAll('.mobile-nav .dropdown-toggle');
dropdownToggles.forEach(function(toggleBtn) {
toggleBtn.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
const dropdown = this.parentElement;
// Close other open dropdowns
const otherDropdowns = document.querySelectorAll('.mobile-nav .dropdown.open');
otherDropdowns.forEach(function(otherDropdown) {
if (otherDropdown !== dropdown) {
otherDropdown.classList.remove('open');
}
});
dropdown.classList.toggle('open');
});
});
// Close mobile menu when window is resized to desktop
window.addEventListener('resize', function() {
if (window.innerWidth > 768) {
closeMobileMenu();
}
});
// Handle navigation clicks (close menu after navigation)
const mobileNavLinks = document.querySelectorAll('.mobile-nav a[href^="/"]');
mobileNavLinks.forEach(function(link) {
link.addEventListener('click', function() {///delaye
setTimeout(closeMobileMenu, 100);
});
});
// Prevent menu from closing when clicking inside the nav
if (mobileNav) {
mobileNav.addEventListener('click', function(e) {
e.stopPropagation();
});
}
});
</script>

View File

@ -74,6 +74,6 @@ This issue can be dealt with if the dogs are treated properly. The campus has a
The Dog Menace Committee meets every month, so any rule/initiatives which may have loopholes are expected to be revamped. Roorkees pup fiction will need an active contribution from the campus junta to have a happy and warm ending.
<span style="text-decoration:underline">[Minutes of Meeting of the Dog Menace Committee Meeting, 15 th April 2019 (PDF)]({{ site.url }}/{{ https://drive.google.com/file/d/1Ro59qPApmDfeWm5k_YyI3-p5jzWroQFa/view?usp=sharing }})</span>
<span style="text-decoration:underline">[Minutes of Meeting of the Dog Menace Committee, 15th April 2019 (PDF)](https://drive.google.com/file/d/1Ro59qPApmDfeWm5k_YyI3-p5jzWroQFa/view?usp=sharing)</span>
![pic](/images/posts/doggoz2.png){: style="width:70%;height:auto"}

View File

@ -1,5 +1,5 @@
---
layout: nil
layout: none
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

View File

@ -442,7 +442,7 @@ nav {
}
.article-horiozntal {
.article-horizontal {
height: 10em;
margin-bottom: 3.5em;
margin-left: 0;
@ -820,4 +820,4 @@ footer {
}
font-size: 1.2em;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -16,4 +16,4 @@
padding: 0.5rem 1.5rem;
padding-bottom: 2rem;
vertical-align: top;
}
}

View File

@ -17,8 +17,16 @@ title: "Watch Out, IIT Roorkee"
{% endfor %}
{% endfor %}
</div>
<!-- Replace the Facebook widget section in your index.html with this: -->
<div class="col-md-4">
<div class="fb-page" data-href="https://www.facebook.com/watchoutiitr/" data-tabs="timeline" data-width="330" data-height="540" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"><blockquote cite="https://www.facebook.com/watchoutiitr/" class="fb-xfbml-parse-ignore"><a href="https://www.facebook.com/watchoutiitr/">Watch Out! News Agency</a></blockquote></div>
<div class="facebook-widget-container">
<div class="fb-page" data-href="https://www.facebook.com/watchoutiitr/" data-tabs="timeline" data-width="330" data-height="540" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true">
<blockquote cite="https://www.facebook.com/watchoutiitr/" class="fb-xfbml-parse-ignore">
<a href="https://www.facebook.com/watchoutiitr/">Watch Out! News Agency</a>
</blockquote>
</div>
</div>
</div>
</div>
</div>
@ -32,10 +40,11 @@ title: "Watch Out, IIT Roorkee"
<div class="embed-responsive embed-responsive-16by9">
<iframe class="youtube-video" id="youtube-video-{{ video.id }}" data-id="{{ video.id }}" src="https://www.youtube.com/embed/{{ video.id }}?enablejsapi=1&showinfo=0" allowfullscreen></iframe>
</div>
<div class="video-caption" id="youtube-title-{{ video.id }}" data-id="{{ video.id }}">
<h2 class="caption">{{ video.title }}</h2>
</div>
</div>
<div class="video-caption" id="youtube-title-{{ video.id }}" data-id="{{ video.id }}">
<h2 class="caption">{{ video.title }}</h2>
</div>
</div> <!-- col-md-8 -->
<ul class="col-md-4 video-list">
{% for video in site.data.youtube offset: 1 limit: 4 %}

View File

@ -1,5 +1,5 @@
---
layout: nil
layout: none
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">