Giter Site home page Giter Site logo

khalisfoundation / sttm-web Goto Github PK

View Code? Open in Web Editor NEW
48.0 19.0 34.0 30.78 MB

STTM website - https://www.sikhitothemax.org

Home Page: https://www.sikhitothemax.org

License: Open Software License 3.0

JavaScript 56.57% HTML 0.42% Shell 0.10% TypeScript 30.80% SCSS 12.11%
religion sikhi pwa sikhitothemax-website share-uk gurbani sikh sikhism

sttm-web's Introduction

SikhiToTheMax's logo

SikhiToTheMax Website

Originally developed by SHARE Charity UK, SikhiToTheMax has become a defacto standard for Keertans and gurdwaras around the world to display Gurbani on screens for Sangat to join into the depth of Gurbani and translations.

SikhiToTheMax is now developed by Khalis Foundation as Seva to the Panth and Khalis Foundation is working hard to ensure it lives up to its name. Khalis Foundation Sevadaars are currently working hard to build newer version of SikhiToTheMax website using modern web technologies.

Website: http://www.SikhiToTheMax.org

Developer: Khalis Foundation and Sevadars (see committers for more details)

Acknowledgements: Bhai Tarsem Singh UK, SHARE UK, Khalis Foundation, Khalsa Foundation UK, Dr. Sant Singh Khalsa, Dr. Kulbir Singh Thind

Powered by

Build Instructions

Make sure you've git & nodejs installed in your system. We advise using Node version 8 or above, and npm version 5.7 or above.

Open terminal and follow these steps;

  • Step 1: Clone the repo.
git clone https://github.com/KhalisFoundation/sttm-web/

You should now see a SikhiToTheMax-Web folder in your present working directory. Let's change directory to it.

cd sttm-web/
  • Step 2: Install dependencies.
# `ci` doesn't update package.json, and uses package-lock.json to install intended deps.
# This makes it pretty speedy and doesn't cause unintended updates.
npm ci

This will use npm that is included with nodejs to install project dependencies.

  • Step 3: Start the project.

If you are running this project for the first time or did some change, run the following command to create a build and run it:

npm run dev

If you want to start a previous build, run the following command.

npm start

This will run a bunch of build tools and a nodejs server to deploy the code locally.

  • Step 4: Access your local dev environment of the SikhiToTheMax website
# On mac OS X
open http://localhost:8080
# On Linux
google-chrome http://localhost:8080
# On windows
start chrome http://localhost:8080
# Or just open chrome and enter the URL manually.

Contributing

Slack channel.

Before raising a pull request, please go through CONTRIBUTING.md. We use dev branch as the development branch, while master is the production branch. You should branch out from dev branch and raise a PR against dev branch. You can see your submitted changes on dev.sikhitothemax.org.

Project Overview

You can watch this project and code walkthrough.

Walkthrough.

License

GSL

All images and assets not covered under other licenses are covered under full Copyright ยฉ 2019 Khalis Foundation.

Site made reliable with help of BrowserStack

sttm-web's People

Contributors

akalustat avatar bogas04 avatar dependabot[bot] avatar ekas avatar gauravjeetsingh avatar gurjit03 avatar gurpreet-verimi avatar hamsbrar avatar harpreetkhalsagtbit avatar imgbot[bot] avatar imgbotapp avatar inderpreet99 avatar inderpreetsingh avatar lbk003 avatar learnwithgurpreet avatar maneetpaul avatar manjots avatar mysmilingturban avatar navdeepsingh avatar navdeepsinghkhalsa avatar plug-n-play avatar prebhdevsingh avatar rajkambo avatar saintsoldierx avatar sikhnerd avatar tarunsingh5 avatar tsingh777 avatar turbanpanda avatar yadvirkaur 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

Watchers

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

sttm-web's Issues

Add meta data to shabad page

Same data as displayed in search results page, "Granth", "Ang", "Writer", "Raag" with clickable links.

Ang link would be blocked by #40.

Embed option

Allow user to embed Panktee(s) or Shabad to their website.
Use blockquote with Unicode followed by async script to style and add display option toggles

See Twitter embed code

<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Now that the mad shopping is over let's focus on <a href="https://twitter.com/hashtag/GivingTuesday?src=hash ">#GivingTuesday</a><br>Help Khalis connect Sangat with Gurbani thru tech. <a href="https://t.co/J6LOqD1uKI">https://t.co/J6LOqD1uKI </a></p>โ€” Khalis Foundation (@khalisfound) <a href="https://twitter.com/khalisfound/status/803660024325107712">November 29, 2016</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Add social share features

maybe have something that when a line in a shabad is hovered over, fb/twitter icons appear to the right and basically post a link to the shabad with the line (unicode)+current display (ie translation) shared in text

Update format options UI to match Search Tools of Google

Ang 123 | Raag Suhi | Bhagat Kabeer | Format Options
-----------------------------------------------^-----------
  Unicode | English Transliteration | Punjabi Translation...
-----------------------------------------------------------

Make production ready

  • Transpile ES2015 to ES5 using Babel
  • Add promises and fetch polyfills
  • Minify CSS/JS
  • JPEGify images

make drop downs look more like google

Should be blue text with down arrow, no border. Buttons are also a bit strange looking.

Dark gray check boxes on search results should become grouped drop downs (ie transliteration drop down, font drop down (unicode/ascii), translation drop down). These would be blue text drop downs just like on google search results.

no checkboxes, just use highlighted/selected options when drop down clicked.

options should persist via cookies

Let me know your thoughts

Lazy-load results

Return 10 results for searches with a Load More button when relevant to dynamically add 10 more

Mobile issues (android, firefox)

screenshot_20161217-185711

Logo should always be on left of search (maybe search bar should resize width so that logo, search bar, and button can always be in same row and not flow down.

left margin on shabad is needed.

use .php

For compatibility with production deploy scripts and future work, please rename html files to php

large margin in default search results

When you do a default search, there is a large margin between url and source, seems like 2 lines extra.. lets bring writer/source up to be next line from url

add ang viewer

I feel we should have a way to view one entire ang of any source. The API does support it so it shouldn't be that hard, I guess the renderShabad method should just work.

Use an API wrapper

This from SikhJS might be useful to create one.

export const API_URL = `https://api.gurbaninow.com/`;

export const TYPES = [
  'Initials from beginning (Gurmukhi)',
  'Initials from anywhere (Gurmukhi)',
  'Full word (Gurakhar)',
  'Full word (English)',
];

export const SOURCES = {
  all: 'All Sources',
  G: 'Guru Granth Sahib Ji',
  D: 'Dasam Granth Sahib',
  B: 'Bhai Gurdas Ji Vaaran',
  N: 'Bhai Nand Lal Ji Vaaran',
  A: 'Amrit Keertan',
  U: 'Uggardanti',
};

export const buildApiUrl = options => {
  const {
    q = false,
    source = false,
    type = false,
    writer = false,
    raag = false,
    ang = false,
    results = false,
    id = false,
    hukam = false,
    akhar = false,
    lipi = false,
  } = options;

  let url = API_URL;

  if (q !== false) {
    url += `search/${q}/?`;
    if (source) url += `source=${source}&`;
    if (type) url += `searchtype=${type}&`;
    if (writer) url += `writer=${writer}&`;
    if (raag) url += `raag=${raag}&`;
    if (ang) url += `ang=${ang}&`;
    if (results) url += `results=${results}&`;
  } else if (id !== false) { 
    url += `shabad/${id}`;
  } else if (ang !== false) {
    url += `ang/${ang}/`;
    if (source) url += `source=${source}`;
  } else if (hukam !== false) {
    url += `hukamnama`;
  } else if (akhar !== false && lipi !== false) {
    url += `akhar/${lipi}`;
  } else {
    throw new Error('Invalid options sent');
  }
  return url;
}

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.