Quellcode durchsuchen

estilos en front

Tati vor 10 Jahren
Ursprung
Commit
8fa1e78311

Datei-Diff unterdrückt, da er zu groß ist
+ 4 - 0
front/font-awesome-4.6.3/css/font-awesome.min.css


BIN
front/font-awesome-4.6.3/fonts/FontAwesome.otf


BIN
front/font-awesome-4.6.3/fonts/fontawesome-webfont.eot


Datei-Diff unterdrückt, da er zu groß ist
+ 685 - 0
front/font-awesome-4.6.3/fonts/fontawesome-webfont.svg


BIN
front/font-awesome-4.6.3/fonts/fontawesome-webfont.ttf


BIN
front/font-awesome-4.6.3/fonts/fontawesome-webfont.woff


BIN
front/font-awesome-4.6.3/fonts/fontawesome-webfont.woff2


+ 74 - 81
front/index.html

@@ -13,98 +13,91 @@
 		<link rel="stylesheet" type="text/css" href="js/ng-tags-input.min.css">
 		<link rel="stylesheet" type="text/css" href="js/ng-tags-input.bootstrap.min.css">
 
+		<link rel="stylesheet" href="font-awesome-4.6.3/css/font-awesome.min.css">
+		<link rel="stylesheet" href="style.css">
 		<script src="js/angular.min.js"></script>
 		<script src="js/ng-tags-input.min.js"></script>
 		<script src="js/app.js"></script>
 	</head>
 <body>
-	<div ng-controller="main">
-		<div class="row">
-			<div class="col-sm-3 col-md-3 col-lg-3 col-xl-3">
-				<div class="row">
-					<div class="col-sm-4 col-md-4 col-lg-4">MinDate:</div>
-					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="mindate" type="text"/>
-				</div>
-				<div class="row">
-					<div class="col-sm-4 col-md-4 col-lg-4">MaxDate:</div>
-					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="maxdate" type="text"/>
-				</div>
-				<div class="row">
-					<div class="col-sm-4 col-md-4 col-lg-4">Site:</div>
-					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="site" type="text"/>
-				</div>
-				<div class="row">
-					<div class="col-sm-4 col-md-4 col-lg-4">Keyword:</div>
-					<!--
-					<input class="col-sm-8 col-md-8 col-lg-8" ng-model="keyword" type="text"/>
-					-->
-					<tags-input ng-model="selected_kw" add-on-paste="true" add-from-autocomplete-only="true" replace-spaces-with-dashes="false">
-						<auto-complete source="filtered($query)"></auto-complete>
-					</tags-input>
-				</div>
-				<div class="row">
-					<div class="col-sm-4 col-md-4 col-lg-4">MinWeight:</div>
-					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="minweight" type="text"/>
-				</div>
-				<div class="row">
-					<div class="col-md-4"></div>
-					<div class="col-md-8">
-						<button ng-click="filter()" class="btn btn-default">Filter</button>
+	<div ng-controller="main" class="wrapper">
+		<aside class="sidebar">
+			<form class="filter">
+				<ul>
+					<li>
+						<div class="profile">
+							<p><i class="fa fa-user"></i> David Ventura</p>
+							<a href="#">Logout</a>
+						</div>
+					</li>
+					<li>
+						<h3><i class="fa fa-filter"></i> Filter</h3>
+					</li>
+					<li>
+						<label for="mindate">Min date</label>
+						<input ng-model="mindate" type="text">
+					</li>
+					<li>
+						<label for="mindate">Max date</label>
+						<input ng-model="maxdate" type="text">
+					</li>
+					<li>
+						<label for="mindate">Keyword</label>
+						<tags-input ng-model="selected_kw" add-on-paste="true" add-from-autocomplete-only="true" replace-spaces-with-dashes="false">
+							<auto-complete source="filtered($query)"></auto-complete>
+						</tags-input>
+					</li>
+					<li>
+						<label for="mindate">Min weight</label>
+						<input ng-model="minweight" type="text">
+					</li>
+					<li class="">
+						<button ng-click="filter()">Filter</button>
+					</li>
+				</ul>
+			</form>
+		</aside>
+		<div class="content-wrapper">
+			<div class="news-wrapper">
+				<section ng-repeat="n in news" ng-class-odd="'odd-news'" ng-class-even="'even-news'">
+					<h4>{{n.title}}</h4>
+					<ul class="news-meta">
+						<li><i class="fa fa-calendar-o"></i> {{n.scrap_date | date:'short'}}</li>
+						<li>Weight: {{n.weight}}</li>
+						<li><i class="fa fa-globe"></i> {{n.source_name}}</li>
+					</ul>
+					<div class="summary">
+						{{n.summary}}
 					</div>
-				</div>
-
-				<div class="row">
-					<div class="col-md-12">
-						Parse source:
-						<input type="text" ng-model="source" class="form-control" placeholder="url">
-						<input type="text" ng-model="sourceName" class="form-control" placeholder="name">
-						<input type="text" ng-model="sourceSelector" class="form-control" placeholder="selector">
-						<input type="number" ng-model="sourceRSS" class="form-control" value=0>
-						<button class="btn btn-default" ng-click="parseSource(source,sourceName,sourceSelector,sourceRSS,0)">Test</button>
-						<button class="btn btn-default" ng-click="parseSource(source,sourceName,sourceSelector,sourceRSS,1)">Add</button>
+					<div>
+						<div><a ng-href="{{n.url}}">Visit site</a></div>
+						<div><a ng-click="getArticle(n)">Read complete article</a></div>
 					</div>
-				</div>
-			</div>
-			<div class="col-sm-4 col-md-4 col-lg-4 col-xl-4">
-				<div class="row" style="border:1px solid black" ng-repeat="n in news">
-					<div class="col-md-12">
-						<div class="row">
-							<div class="col-md-12">
-								{{n.title}}
-							</div>
-						</div>
-						<div class="row" style="font-size:11px">
-							<div class="col-md-8">
-								{{n.scrap_date}}
-							</div>
-							<div class="col-md-4">
-								Weight: {{n.weight}}
-							</div>
-						</div>
-						<!-- source: {{n.source}} -->
-						<div class="summary" style="font-size:12px">
-							{{n.summary}}
-						</div>
-						<div class="row">
-							<div class="col-md-7">
-								<a ng-href="{{n.url}}">Visit site</a>
-							</div>
-							<div class="col-md-5">
-								<a ng-click="getArticle(n)">Read complete article</a>
-							</div>
-						</div>
-
-						<div class="row">
-							<div class="col-md-12 keywords">
-								Keyword(s): {{n.kw.join(", ")}}
-							</div>
-						</div>
+					<div>
+						Keyword(s): {{n.kw.join(", ")}}
 					</div>
-				</div>
+				</section>
 			</div>
-			<div id="news" class="col-sm-5 col-md-5 col-lg-5 col-xl-5" ng-bind-html="newsArticle"></div>
+			<div class="article-wrapper">
+				<div id="news" ng-bind-html="newsArticle"></div>
+			</div>
+			<div style="clear: both"></div>
+		</div>
+			
+			
 		</div>
 	</div>
+<!-- <div class="row">
+	<div class="col-md-12">
+		Parse source:
+		<input type="text" ng-model="source" class="form-control" placeholder="url">
+		<input type="text" ng-model="sourceName" class="form-control" placeholder="name">
+		<input type="text" ng-model="sourceSelector" class="form-control" placeholder="selector">
+		<input type="number" ng-model="sourceRSS" class="form-control" value=0>
+		<button class="btn btn-default" ng-click="parseSource(source,sourceName,sourceSelector,sourceRSS,0)">Test</button>
+		<button class="btn btn-default" ng-click="parseSource(source,sourceName,sourceSelector,sourceRSS,1)">Add</button>
+	</div>
+</div> -->
 </body>
 </html>
 

+ 111 - 0
front/index2.html

@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html ng-app="app">
+	<head>
+		<!-- Latest compiled and minified CSS -->
+		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
+
+		<!-- Optional theme -->
+		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
+		<link rel="stylesheet" href="style.css">
+
+		<!-- Latest compiled and minified JavaScript -->
+		<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
+		<link rel="stylesheet" type="text/css" href="js/ng-tags-input.min.css">
+		<link rel="stylesheet" type="text/css" href="js/ng-tags-input.bootstrap.min.css">
+
+		<script src="js/angular.min.js"></script>
+		<script src="js/ng-tags.js"></script>
+		<script src="js/ng-tags-input.min.js"></script>
+		<script src="js/app.js"></script>
+	</head>
+<body>
+	<div ng-controller="main">
+		<div class="row">
+			<div class="col-sm-3 col-md-3 col-lg-3 col-xl-3">
+				<div class="row">
+					<div class="col-sm-4 col-md-4 col-lg-4">MinDate:</div>
+					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="mindate" type="text"/>
+				</div>
+				<div class="row">
+					<div class="col-sm-4 col-md-4 col-lg-4">MaxDate:</div>
+					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="maxdate" type="text"/>
+				</div>
+				<div class="row">
+					<div class="col-sm-4 col-md-4 col-lg-4">Site:</div>
+					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="site" type="text"/>
+				</div>
+				<div class="row">
+					<div class="col-sm-4 col-md-4 col-lg-4">Keyword:</div>
+					<!--
+					<input class="col-sm-8 col-md-8 col-lg-8" ng-model="keyword" type="text"/>
+					-->
+					<tags-input ng-model="selected_kw" add-on-paste="true" add-from-autocomplete-only="true" replace-spaces-with-dashes="false">
+						<auto-complete source="filtered($query)"></auto-complete>
+					</tags-input>
+				</div>
+				<div class="row">
+					<div class="col-sm-4 col-md-4 col-lg-4">MinWeight:</div>
+					<input class="form-control col-sm-8 col-md-8 col-lg-8" ng-model="minweight" type="text"/>
+				</div>
+				<div class="row">
+					<div class="col-md-4"></div>
+					<div class="col-md-8">
+						<button ng-click="filter()" class="btn btn-default">Filter</button>
+					</div>
+				</div>
+
+				<div class="row">
+					<div class="col-md-12">
+						Parse source:
+						<input type="text" ng-model="source" class="form-control" placeholder="url">
+						<input type="text" ng-model="sourceName" class="form-control" placeholder="name">
+						<input type="text" ng-model="sourceSelector" class="form-control" placeholder="selector">
+						<input type="number" ng-model="sourceRSS" class="form-control" value=0>
+						<button class="btn btn-default" ng-click="parseSource(source,sourceName,sourceSelector,sourceRSS,0)">Test</button>
+						<button class="btn btn-default" ng-click="parseSource(source,sourceName,sourceSelector,sourceRSS,1)">Add</button>
+					</div>
+				</div>
+			</div>
+			<div class="col-sm-4 col-md-4 col-lg-4 col-xl-4">
+				<div class="row" style="border:1px solid black" ng-repeat="n in news">
+					<div class="col-md-12">
+						<div class="row">
+							<div class="col-md-12">
+								{{n.title}}
+							</div>
+						</div>
+						<div class="row" style="font-size:11px">
+							<div class="col-md-8">
+								{{n.scrap_date}}
+							</div>
+							<div class="col-md-4">
+								Weight: {{n.weight}}
+							</div>
+						</div>
+						<!-- source: {{n.source}} -->
+						<div class="summary" style="font-size:12px">
+							{{n.summary}}
+						</div>
+						<div class="row">
+							<div class="col-md-7">
+								<a ng-href="{{n.url}}">Visit site</a>
+							</div>
+							<div class="col-md-5">
+								<a ng-click="getArticle(n)">Read complete article</a>
+							</div>
+						</div>
+
+						<div class="row">
+							<div class="col-md-12 keywords">
+								Keyword(s): {{n.kw.join(", ")}}
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div id="news" class="col-sm-5 col-md-5 col-lg-5 col-xl-5" ng-bind-html="newsArticle"></div>
+		</div>
+	</div>
+</body>
+</html>
+

+ 221 - 0
front/style.css

@@ -1,5 +1,226 @@
+html { 
+	min-height: 100%;
+	font-size: 10px;
+	font-family: sans-serif;
+}
+
+body {
+	font-family: 'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;
+	font-weight: 400;
+	overflow-x: hidden;
+	overflow-y: auto;
+	min-height: 100%;
+	color: #333;
+}
+
+.fa {
+	font-size: 90%;
+}
+.wrapper {
+	min-height: 100%;
+    position: relative;
+    overflow: hidden;
+}
+
+.sidebar {
+	position: fixed;
+	top: 0;
+	left: 0;
+	min-height: 100%;
+	width: 230px;
+	z-index: 810;
+	background-color: #222;
+	color: #4B4B4B;
+}
+
+.profile p {
+	font-size: 15px;
+	text-transform: uppercase;
+	margin-bottom: 0px;
+}
+
+.profile a{
+	color: rgb(112, 100, 172);
+	transition-duration: 0.2s;
+	font-size: 12px;
+}
+
+.profile a:hover{
+	color: rgba(112, 100, 172, 0.6);
+	text-decoration: none;
+}
+
+.filter {
+	position: relative;
+	width: 100%;
+	padding: 10px;
+}
+
+.filter ul {
+	list-style: none;
+	padding: 0;
+	margin: 0;
+}
+
+.filter li {
+	display: block;
+	padding: 5px;
+	margin-bottom: 10px;
+}
+
+.filter li:last-child{
+	text-align: right;
+}
+
+.filter li > label {
+	display: block;
+	float: left;
+	background-color: #222;
+	height: 16px;
+	padding: 0px;
+	color: #4B4B4B;
+	font-size: 12px;
+	overflow: hidden;
+	font-weight: 400;
+	text-transform: uppercase;
+	letter-spacing: 0px;
+}
+
+.filter li > h3 {
+	text-transform: uppercase;
+	font-size: 18px;
+	border-bottom: 1px solid;
+	padding-bottom: 1px;
+	margin-top: 5px;
+	margin-bottom: 2px;
+}
+.filter input[type="text"] {
+	width: 100%;
+	display: block;
+	outline: none;
+	border: none;
+	height: 25px;
+	line-height: 25px;
+	font-size: 16px;
+	padding: 0;
+	background-color: #4B4B4B;
+	border-radius: 2px;
+	color: #7B7B7B;
+	font-size: 12px;
+	padding: 5px;
+}
+
+.filter button {
+	background-color: rgb(112, 100, 172);
+	height: 25px;
+	padding: 2px;
+	font-size: 12px;
+	width: 50%;
+	border-radius: 2px;
+	text-transform: uppercase;
+	border: none;
+	color: #c0c0c0;
+	transition-duration: 0.2s;
+}
+
+.filter button:hover{
+	background-color: rgba(112, 100, 172, 0.8);
+}
+
+.filter tags-input {
+	margin-top:20px;
+	width: 100%;
+}
+
+tags-input .tags {
+	width: 100%;
+	background-color: #4B4B4B;
+	border: none;
+	border-radius: 2px;
+}
+
+tags-input .tags.focused, 
+tags-input.ng-invalid .tags{
+	border: none;
+	box-shadow: none;
+}
+
+tags-input .tags .tag-item {
+	color: #c0c0c0;
+	background-color: rgb(112, 100, 172);
+	border: 1px solid rgb(112, 100, 172);
+	border-radius: 4px;
+	margin: 2px;
+	padding: 0 5px;
+	display: inline-block;
+	float: left;
+	font-size: 11px;
+	height: 24px;
+	line-height: 20px;
+}
+
+.content-wrapper {
+	background-color: #fff;
+	z-index: 800;
+	margin-left: 230px;
+	width: 100%;
+	color: #202020;
+}
+
+.news-wrapper {
+	width: 40%;
+	float: left;
+	padding: 0px;
+}
+
+.news-wrapper section {
+	padding: 10px;
+
+}
+
+.news-wrapper section.even-news {
+    background-color: #fcfcfc;
+}
+
+.news-wrapper section.odd-news {
+    background-color: #f2f2f2;
+}
+
+ul.news-meta {
+	padding: 0px;
+	font-size: 12px;
+	border-bottom: 1px solid rgba(0,0,0,0.05);
+	padding-bottom: 3px;
+	margin-bottom: 10px;
+}
+
+ul.news-meta li {
+	display: inline;
+	margin-right: 10px;
+}
+
+.article-wrapper {
+	float: left;
+	width: 45%;
+}
+
 .summary { max-height: 35px; transition:0.5s;overflow-y:hidden;}
 .summary:hover { max-height: 999px; }
 
 .keywords { max-height: 40px; transition:0.5s;overflow-y:hidden;margin-bottom:10px;   text-overflow: ellipsis;}
 .keywords:hover { max-height: 999px; }
+
+.tags {
+   margin-bottom: 5px;
+} 
+
+.tags .tag {
+   display: inline-block;
+   margin-right: 5px;
+   font-size: 13px;
+}
+  
+.tag .close {
+   font-size: 14px;
+   margin-left: 5px;
+}