Skip to content

Instantly share code, notes, and snippets.

@hatemhosny
hatemhosny / ng2-material
Last active November 25, 2016 22:07
ng2-material
<html>
</html>
@hatemhosny
hatemhosny / CreateList.bat
Last active May 6, 2017 09:34
Create list of courses placed in multiple folders
@echo off
cd %~dp0
REM Create text list
dir /b /o:n /a:d > list.txt
for /D %%a in (*) do (
@hatemhosny
hatemhosny / run-server.sh
Created May 21, 2017 15:29
simple http server
python -m SimpleHTTPServer 8080
@hatemhosny
hatemhosny / circleci-config
Last active October 2, 2017 01:17
.circleci/config.yml
# .circleci/config.yml
#
# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#
version: 2
jobs:
build:
docker:
@hatemhosny
hatemhosny / dploy.yml
Created September 25, 2017 16:15
dploy (FTP/SFTP deployment)
dev:
scheme: ftp
host: ftp.my-dev-server.com
port: 21
user: user
pass: password
check: false
path:
local: release/
remote: public_html/
@hatemhosny
hatemhosny / package.json
Created September 25, 2017 16:18
NPM scripts
"scripts": {
"start": "npm-run-all lint ng:serve",
"build": "npm-run-all lint ng:build",
"build:prod": "npm-run-all lint ng:build:prod",
"build:stag": "npm-run-all lint ng:build:stag",
"build:gh-pages": "npm-run-all lint ng:build:gh-pages copy:404 git:add git:commit",
"ng:build:gh-pages": "ng build --prod --base-href /ng2-material/",
"copy:404": "copy .\\dist\\index.html .\\dist\\404.html",
"copy:200": "copy .\\dist\\index.html .\\dist\\200.html",
"git:add": "git add .",
@hatemhosny
hatemhosny / .editorconfig
Created September 25, 2017 16:19
.editorconfig
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
@hatemhosny
hatemhosny / db.json
Created September 25, 2017 16:27
json-schema-faker json-server
{"lectures":[{"id":37407,"presenter":"Chris Turcotte","title":"Nemo ipsa eligendi velit et pariatur eaque dolores.","email":"Shyanne_Larkin@hotmail.com","description":"Rem eos ut ut libero autem. Doloremque inventore nesciunt architecto aperiam ut. Odio consequatur totam et. Incidunt excepturi eius. Aut numquam doloremque fugit sunt et qui. Doloribus blanditiis modi neque explicabo commodi minima.","series":"ipsum quis enim","url":"https://dennis.biz","datePublished":"Sun Mar 27 2016 00:42:09 GMT+0200 (Egypt Standard Time)","imageUrl":"http://lorempixel.com/640/480"},{"id":23640,"presenter":"Joany Kirlin","title":"Aut velit harum et blanditiis vel quaerat.","email":"Dewitt_Swaniawski@yahoo.com","description":"Ut perspiciatis provident commodi optio similique temporibus non occaecati neque. Voluptas quisquam eum eos rerum quisquam et iure modi nemo. Ducimus et vero ut sapiente et molestias similique sint expedita. Ut eligendi ullam.","series":"pariatur suscipit autem","url":"https://bobbie.info","datePublished
@hatemhosny
hatemhosny / truncate.pipe.ts
Created September 25, 2017 16:29
TruncatePipe
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'truncate'
})
export class TruncatePipe implements PipeTransform {
transform(value: string, limit = 250, trail = '...'): string {
if (value.length > limit) {
return value.substring(0, limit) + trail;
@hatemhosny
hatemhosny / log.service.ts
Created September 25, 2017 16:32
LogService
import { Injectable, ErrorHandler } from '@angular/core';
import { LoadingService } from '../loading/loading.service';
import { NotificationService } from '../notification/notification.service';
import { environment } from '../../../environments/environment';
declare let Raven: any;
const logLevel = {
error: 'error',