Compare commits

..
88 Commits
Author SHA1 Message Date
Esther Kleinhenz 5a54647577 fixed duplicates in dashboard 2018-12-19 18:44:14 +01:00
Esther Kleinhenz b2798a6630 finished presentation 2018-12-18 13:51:44 +01:00
Esther Kleinhenz 61a87a7461 fixed list 2018-12-13 18:38:34 +01:00
Esther Kleinhenz d098531700 last optimisation 2018-12-10 17:28:34 +01:00
Esther Kleinhenz faaa66aa8e beautifed code and added descriptive comments 2018-12-09 19:22:30 +01:00
Esther Kleinhenz db60f32c07 check references and added comments to forms url and admin 2018-12-09 11:26:21 +01:00
Esther Kleinhenz 25b0385a87 alles überarbeitet und figure hinzugefügt 2018-12-07 20:38:30 +01:00
Esther Kleinhenz 97b1b47d6d edited by lena 2018-12-05 12:02:56 +01:00
Esther Kleinhenz 86061ae781 edited schlussbetrachtung and evaluation 2018-12-03 22:47:50 +01:00
Esther Kleinhenz 986847837b edited diskussion 2018-12-02 20:25:05 +01:00
Esther Kleinhenz 65a4227435 edited titlepage 2018-12-02 18:11:35 +01:00
Esther Kleinhenz c928ab63cd finished schlussbetrachtung 2018-12-02 17:17:50 +01:00
Esther Kleinhenz ea30b13c12 added diskussion and figures evaluation 2018-11-30 11:31:18 +01:00
Esther Kleinhenz 1816bb8386 added figures and avualuation 2018-11-25 17:33:28 +01:00
Esther Kleinhenz 4a324f52c7 added figures to evaluation 2018-11-24 16:26:45 +01:00
Esther Kleinhenz 8a3f8a56e5 started evaluation 2018-11-23 14:06:03 +01:00
Esther Kleinhenz f5afb1e012 edited framework chapter 2018-11-19 10:55:18 +01:00
Esther Kleinhenz 18f48df6a1 finished chapter prototyp 2018-11-18 22:47:24 +01:00
Esther Kleinhenz 94573dc28b added filter and some design things 2018-11-18 18:39:08 +01:00
Esther Kleinhenz b03b106fd8 changed tempalte design 2018-11-17 19:57:10 +01:00
Esther Kleinhenz ea8d8826b6 edited tag list in search and changed quotes in txt 2018-11-17 15:23:17 +01:00
Esther Kleinhenz 5bcd86db97 edited einleitung 2018-11-15 17:02:17 +01:00
Esther Kleinhenz e50439a1ff changed dashoard and added sicherheit und template 2018-11-15 14:17:44 +01:00
Esther Kleinhenz 39b964c4e8 edited einleitung 2018-11-14 18:30:14 +01:00
Esther Kleinhenz 18e4414c44 deleted studentpage and added code to bloglist view 2018-11-13 19:15:46 +01:00
Esther Kleinhenz 8fa768fd91 added erklaerung.pdf 2018-11-13 10:06:07 +01:00
Esther Kleinhenz d275c8a0a1 added figure post-edit-view 2018-11-13 09:46:11 +01:00
Esther Kleinhenz 5ec22d5ff9 added new buttons and einen artikel bearbeiten 2018-11-12 19:17:20 +01:00
Esther Kleinhenz 67e91fc5af added chapter verwalten and edited the website menu 2018-11-11 23:27:28 +01:00
Esther Kleinhenz 5214f806b0 added sth to benutzerberechtigungen 2018-11-09 18:40:43 +01:00
Esther Kleinhenz 02adc8fe6d added berechtigungen der user 2018-11-09 16:00:25 +01:00
Esther Kleinhenz ac66d766c5 added organisation 2018-11-09 08:13:58 +01:00
Esther Kleinhenz 535857581f added organisation capitle 2018-11-07 19:37:24 +01:00
Esther Kleinhenz 7362469204 added to datenmodellierung 2018-11-06 23:40:23 +01:00
Esther Kleinhenz 02551b24b5 edited chapter organisation with new subsections and text plus fortschungsdesign 2018-11-04 22:57:20 +01:00
Esther Kleinhenz 6c5bcb0131 added prototyp capitle and edited post_draft 2018-11-04 15:03:50 +01:00
Esther Kleinhenz acb8668991 edited the theoratical section with images and references 2018-11-03 14:57:57 +01:00
Esther Kleinhenz a577e47acc updated pyton versions and wrote hilfsbibliotheken 2018-11-03 00:09:52 +01:00
Esther Kleinhenz 3b9f4c33f2 added requ.txt and dockerfiles 2018-10-30 20:09:38 +01:00
Esther Kleinhenz 62c84570cc removed blacklist things 2018-10-30 18:51:48 +01:00
Esther Kleinhenz d773cba908 added hitcount for staff 2018-10-30 18:43:30 +01:00
Esther Kleinhenz 38a25437b6 added post_office and crontab 2018-10-30 17:59:14 +01:00
Esther Kleinhenz 292e9eda2a fixed saving tags 2018-10-30 17:02:38 +01:00
Esther Kleinhenz 65d167a8b8 deleted djcelery 2018-10-30 12:26:17 +01:00
Esther Kleinhenz 92fda4831a new branch with djcelery 2018-10-30 11:46:13 +01:00
Esther Kleinhenz 806718824c deleted celery and report schedule 2018-10-29 11:28:00 +01:00
Esther Kleinhenz 7ed667d043 fixed some issues with non-used tags 2018-10-24 19:04:43 +02:00
Esther Kleinhenz f5980566ae added celery and tasks but most important added tag_list 2018-10-22 18:58:10 +02:00
Esther Kleinhenz 3c7005afaf added search url to navbar 2018-10-21 10:39:18 +02:00
Esther Kleinhenz df5d420505 added post search 2018-10-20 23:42:29 +02:00
Esther Kleinhenz 4a753ff6c9 new migration 2018-10-20 17:28:50 +02:00
Esther Kleinhenz 7d0350d452 added logger and logging addon 2018-10-19 09:29:55 +02:00
Esther Kleinhenz d01ed0085c added logger 2018-10-16 20:04:26 +02:00
Esther Kleinhenz 5dc4b05a8f added figures to framework and 2018-10-16 19:06:27 +02:00
Esther Kleinhenz ca6655d535 thesis added bootstrap capitel 2018-10-10 10:50:32 +02:00
Esther Kleinhenz 26cbed89c8 added text to taggable manager 2018-10-04 21:59:47 +02:00
Esther Kleinhenz aea40fe98a neue Abbildung und subsection besonderheiten 2018-10-02 19:24:02 +02:00
Esther Kleinhenz 49c98b5cb6 Kapitel Einleitung und Django angefangen 2018-10-02 18:47:11 +02:00
Esther Kleinhenz 48ca31a47b added new template 2018-09-28 17:02:23 +02:00
Esther Kleinhenz 49ecd88a28 Einleitung verfasst 2018-09-28 12:29:04 +02:00
Esther Kleinhenz cd7e63dcc5 added new thesis template with name, keep the old version for insureance 2018-09-28 10:13:41 +02:00
Esther Kleinhenz 932959d6b0 fixed table of content 2018-09-27 10:25:43 +02:00
Esther Kleinhenz c2c238fe26 added new chapters and content to latex thesis paper 2018-09-19 17:25:01 +02:00
Esther Kleinhenz 9c3d607f87 changed the cover of latex thesis 2018-09-12 14:51:33 +02:00
Esther Kleinhenz e78011daca tried to build a tag list of the logged in user 2018-09-11 18:50:46 +02:00
Esther Kleinhenz 768a3e4a2e by clicking on tags, all the posts with this tag showing up 2018-09-02 11:58:21 +02:00
Esther Kleinhenz 6cdbec7315 added migrations 2018-08-31 17:32:29 +02:00
Esther Kleinhenz b8a6c16ac2 edited tag code 2018-08-31 17:31:34 +02:00
Esther Kleinhenz 5a30a0adea adding new tags from student_page to backend 2018-08-31 15:43:06 +02:00
Esther Kleinhenz 8ae45354f0 added TagSearch class but not using it atm 2018-08-30 17:40:25 +02:00
Esther Kleinhenz 8da96e27a5 added setuptools and new url taggit-template2 2018-08-25 12:14:54 +02:00
Esther Kleinhenz 3d9e40f840 tried search queries - fial 2018-08-19 22:55:06 +02:00
Esther Kleinhenz 145fd921d9 added new js file and make the published date editable on webiste 2018-08-19 16:24:53 +02:00
Esther Kleinhenz 2cb1629a81 reinstalled django because of problems with the migrations and installed taggit-template2 to list tags 2018-08-18 18:30:57 +02:00
Esther Kleinhenz a1ff9def5c aded author to post_list 2018-08-18 17:00:50 +02:00
Esther Kleinhenz 42d69dfe44 shows tags of each post in post_list 2018-08-18 12:10:40 +02:00
Esther Kleinhenz 1a2130bb49 extended default user model to save subscribed tags 2018-08-15 19:18:35 +02:00
Esther Kleinhenz 4b28a5a91b posts editable for only for author 2018-08-15 11:33:53 +02:00
Esther Kleinhenz 774757c610 added mockups and tested taggit lib 2018-08-04 17:01:28 +02:00
Esther Kleinhenz 0c34f508b8 edited nav-bar 2018-07-29 13:24:15 +02:00
Esther Kleinhenz b4415af0b8 added new student page 2018-07-23 07:35:45 +02:00
Esther Kleinhenz 9be60fb7a4 added decorator to the view so not authorized users cannot enter specific pages 2018-07-15 15:46:16 +02:00
Esther Kleinhenz 65188e033e added post to admin.py and fixed css 2018-07-15 15:27:10 +02:00
Esther Kleinhenz 666b5e909a erased postgre db 2018-07-15 11:18:07 +02:00
Esther Kleinhenz f31119ce27 added doc folder for documentation with latex 2018-07-07 14:57:44 +02:00
Esther Kleinhenz 84ea0b4d08 code editing 2018-07-05 15:51:43 +02:00
Esther Kleinhenz ac9f9f782c added sqlite table and dumpuser 2018-07-01 15:20:11 +02:00
Esther Kleinhenz f8d2e02010 added bootstrap js and css 2018-06-28 18:27:20 +02:00
1894 changed files with 267218 additions and 108768 deletions

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
# The first instruction is what image we want to base our container on
# We Use an official Python runtime as a parent image
#FROM python:3.6
# FROM directive instructing base image to build upon
FROM python:3.6.6
# The enviroment variable ensures that the python output is set straight
# to the terminal with out buffering it first
#ENV PYTHONUNBUFFERED 1
# App directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install azure event hub client dependencies
#COPY p /usr/src/app/
# Bundle app source
COPY . /usr/src/app
# COPY startup script into known file location in container
COPY start.sh /start.sh
# create root directory for our project in the container
#RUN mkdir /esther_kleinhenz_ba
# EXPOSE port 8000 to allow communication to/from server
#EXPOSE 8000
RUN set -x \
&& buildDeps='curl gcc libc6-dev libsqlite3-dev libssl-dev make xz-utils zlib1g-dev'
# Install any needed packages specified in requirements.txt
RUN pip install -r requirements.txt
# Set the working directory to /esther_kleinhenz_ba
#WORKDIR /esther_kleinhenz_ba
# CMD specifcies the command to execute to start the server running.
CMD ["/start.sh"]
# done!
# Copy the current directory contents into the container at /esther_kleinhenz_ba
#ADD . /esther_kleinhenz_ba/
+1
View File
@@ -0,0 +1 @@
from __future__ import absolute_import, unicode_literals
+26 -1
View File
@@ -1,3 +1,28 @@
from django.contrib import admin
# Register your models here.
from django.contrib.auth import get_user_model
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import User
from .models import Post, CustomUser
#external code customised
#import from https://docs.djangoproject.com/en/dev/topics/auth/customizing/#extending-the-existing-user-model
#start ---
class CustomUserInline(admin.StackedInline):
model = CustomUser
can_delete = False
verbose_name_plural = 'customUsers'
# Define a new User admin
class UserAdmin(BaseUserAdmin):
inlines = (CustomUserInline, )
# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
admin.site.register(Post)
#end ---
+57
View File
@@ -0,0 +1,57 @@
from datetime import datetime, timedelta
from django.core.mail import send_mail
from django.template import Template, Context
from django.http import HttpResponse
from django.conf import settings
from .models import ScheduledReport, ScheduledReportGroup, ReportRecipient
class ScheduledReportConfig(object):
def __init__(self, scheduled_report):
"""
Expects a scheduled report object and inititializes
its own scheduled_report attribute with it
"""
self.scheduled_report = scheduled_report
def get_report_config(self):
"""
Returns the configuration related to a scheduled report, needed
to populate the email
"""
return {
"template_context": self._get_related_reports_data(),
"recipients": self._get_report_recipients()
}
def _get_related_reports_data(self):
"""
Returns the list of reports data which needs to be sent out in a scheduled report
"""
pass
def _get_report_recipients(self):
"""
Returns the recipient list for a scheduled report
"""
pass
def create_email_data(content=None):
content = '''
''' + str(content) + ''''''
return content
def send_emails():
current_time = datetime.utcnow()
scheduled_reports = ScheduledReport.objects.filter(next_run_at__lt = current_time)
for scheduled_report in scheduled_reports:
report_config = ScheduledReportConfig(scheduled_report).get_report_config()
""" Specify the template path you want to send out in the email. """
template = Template(create_email_data('path/to/your/email_template.html'))
""" //Create your email html using Django's context processor """
report_template = template.render(Context(report_config['template_context']))
scheduled_report.save()
if not scheduled_report.subject:
""" Handle exception for subject not provided """
if not report_config['recipients']:
""" Handle exception for recipients not provided """
send_mail(
scheduled_report.subject, 'Here is the message.',
settings.EMAIL_HOST_USER, report_config['recipients'],
fail_silently=False, html_message=report_template
)
+17 -2
View File
@@ -1,9 +1,24 @@
from django import forms
from datetime import datetime
from .models import Post
from .models import Post, CustomUser
from django.forms import ModelForm, ValidationError
from taggit.forms import *
#extended code customised
#import from https://tutorial.djangogirls.org/en/django_forms/
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ('title', 'text')
fields = ('title', 'text', 'published_date','tags')
class NewTagForm(forms.ModelForm):
tags = TagField()
class Meta:
model = CustomUser
fields = ['tags']
+49 -1
View File
@@ -1,9 +1,10 @@
# Generated by Django 2.0.6 on 2018-06-28 09:13
# Generated by Django 2.1.2 on 2018-10-30 10:43
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import taggit.managers
class Migration(migrations.Migration):
@@ -12,9 +13,18 @@ class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('taggit', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='CustomUser',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')),
('user', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Post',
fields=[
@@ -24,6 +34,44 @@ class Migration(migrations.Migration):
('created_date', models.DateTimeField(default=django.utils.timezone.now)),
('published_date', models.DateTimeField(blank=True, null=True)),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')),
],
),
migrations.CreateModel(
name='Report',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('report_text', models.TextField()),
],
),
migrations.CreateModel(
name='ReportRecipient',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('email', models.EmailField(max_length=254)),
],
),
migrations.CreateModel(
name='ScheduledReport',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('subject', models.CharField(max_length=200)),
('last_run_at', models.DateTimeField(blank=True, null=True)),
('next_run_at', models.DateTimeField(blank=True, null=True)),
('cron_expression', models.CharField(max_length=200)),
],
),
migrations.CreateModel(
name='ScheduledReportGroup',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='report', to='application.Report')),
('scheduled_report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='relatedscheduledreport', to='application.ScheduledReport')),
],
),
migrations.AddField(
model_name='reportrecipient',
name='scheduled_report',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reportrecep', to='application.ScheduledReport'),
),
]
@@ -0,0 +1,37 @@
# Generated by Django 2.1.2 on 2018-10-30 11:23
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('application', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='reportrecipient',
name='scheduled_report',
),
migrations.RemoveField(
model_name='scheduledreportgroup',
name='report',
),
migrations.RemoveField(
model_name='scheduledreportgroup',
name='scheduled_report',
),
migrations.DeleteModel(
name='Report',
),
migrations.DeleteModel(
name='ReportRecipient',
),
migrations.DeleteModel(
name='ScheduledReport',
),
migrations.DeleteModel(
name='ScheduledReportGroup',
),
]
@@ -0,0 +1,19 @@
# Generated by Django 2.1.2 on 2018-10-30 15:33
from django.db import migrations
import taggit.managers
class Migration(migrations.Migration):
dependencies = [
('application', '0002_auto_20181030_1223'),
]
operations = [
migrations.AlterField(
model_name='customuser',
name='tags',
field=taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
),
]
+19 -4
View File
@@ -1,15 +1,30 @@
from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone
from taggit.managers import TaggableManager
from datetime import datetime
#external code customised
#import from https://docs.djangoproject.com/en/dev/topics/auth/customizing/#extending-the-existing-user-model
class CustomUser(models.Model):
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
#add tags to User Model with possibility to leave empty
tags = TaggableManager(blank=True)
#external code customised
#import from https://tutorial.djangogirls.org/en/django_models/
class Post(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
published_date = models.DateTimeField(
blank=True, null=True)
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
#add tags to Post Model
tags = TaggableManager()
def publish(self):
self.published_date = timezone.now()
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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 truncated
@@ -0,0 +1,7 @@
/*!
* Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.ofLine truncated
/*# sourceMappingURL=bootstrap-grid.min.css.map */
@@ -0,0 +1 @@
{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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 truncated
+342
View File
@@ -0,0 +1,342 @@
/*!
* Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
@-ms-viewport {
width: device-width;
}
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
[tabindex="-1"]:focus {
outline: none !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
dfn {
font-style: italic;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre,
code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
-ms-touch-action: manipulation;
touch-action: manipulation;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #868e96;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
label {
display: inline-block;
margin-bottom: .5rem;
}
button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
summary {
display: list-item;
}
template {
display: none;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
@@ -0,0 +1 @@
{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-heiLine truncated
@@ -0,0 +1,8 @@
/*!
* Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
@@ -0,0 +1 @@
{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents aLine truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_print.scss","bootstrap.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/mixins/_gradients.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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 truncated
+7
View File
@@ -0,0 +1,7 @@
/*!
* Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#868e96;--gray-dark:#343a40;--primary:#007bff;--secondary:#868e96;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:"SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!imLine truncated
/*# sourceMappingURL=bootstrap.min.css.map */
@@ -0,0 +1 @@
{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_print.scss","dist/css/bootstrap.css","../../scss/_reboot.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/mixins/_gradients.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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 truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/masLine truncated
@@ -0,0 +1,7 @@
/*!
* Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
var bootstrap=function(t,e){"use strict";function n(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t){return t&&"[object Function]"==={}.toString.call(t)}function r(t,e){if(1!==t.nodeType)return[];var n=window.getComputedStyle(t,null);return e?n[e]:n}function o(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function s(t){if(!t||-1!==["HTML","BODY","#document"].indexOf(t.nodeName))return window.document.body;var e=r(t),n=e.overflow,i=e.overflowX;return/(auto|scroll)/.test(n+e.overflowY+i)?t:s(o(t))}function a(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===r(e,"position")?a(e):e:window.document.documentElement}function l(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||a(t.firstElementChild)===t)}function c(t){return null!==t.parentNode?c(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return window.document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s=o.commonAncestorContainer;if(t!==s&&e!==s||i.contains(r))return l(s)?s:a(s);var h=c(t);return h.host?f(h.host,e):f(t,c(e).host)}function h(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=window.document.documentElement;return(window.document.scrollingElement||i)[e]}return t[e]}function u(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=h(e,"top"),r=h(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}function d(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return+t["border"+n+"Width"].split("px")[0]+ +t["border"+i+"Width"].split("px")[0]}function p(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],lt()?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function g(){var t=window.document.body,e=window.document.documentElement,n=lt()&&window.getComputedStyle(e);return{height:p("Height",t,e,n),width:p("Width",t,e,n)}}function m(t){return ut({},t,{right:t.left+t.width,bottom:t.top+t.height})}function _(t){var e={};if(lt())try{e=t.getBoundingClientRect();var n=h(t,"top"),i=h(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}catch(t){}else e=t.getBoundingClientRect();var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},s="HTML"===t.nodeName?g():{},a=s.width||t.clientWidth||o.right-o.left,l=s.height||t.clientHeight||o.bottom-o.top,c=t.offsetWidth-a,f=t.offsetHeight-l;if(c||f){var u=r(t);c-=d(u,"x"),f-=d(u,"y"),o.width-=c,o.height-=f}return m(o)}function v(t,e){var n=lt(),i="HTML"===e.nodeName,o=_(t),a=_(e),l=s(t),c=r(e),f=+c.borderTopWidth.split("px")[0],h=+c.borderLeftWidth.split("px")[0],d=m({top:o.top-a.top-f,left:o.left-a.left-h,width:o.width,height:o.height});if(d.marginTop=0,d.marginLeft=0,!n&&i){var p=+c.marginTop.split("px")[0],g=+c.marginLeft.split("px")[0];d.top-=f-p,d.bottom-=f-p,d.left-=h-g,d.right-=h-g,d.marginTop=p,d.marginLeft=g}return(n?e.contains(l):e===l&&"BODY"!==l.nodeName)&&(d=u(d,e)),d}function E(t){var e=window.document.documentElement,n=v(t,e),i=Math.max(e.clientWidth,window.innerWidth||0),r=Math.max(e.clientHeight,window.innerHeight||0),o=h(e),s=h(e,"left");return m({top:o-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r})}function T(t){var e=t.nodeName;return"BODY"!==e&&"HTML"!==e&&("fixed"===r(t,"position")||T(o(t)))}function b(t,e,n,i){var r={top:0,left:0},a=f(t,e);if("viewport"===i)r=E(a);else{var l=void 0;"scrollParent"===i?"BODY"===(l=s(o(t))).nodeName&&(l=window.document.documentElement):l="window"===i?window.document.documentElement:i;var c=v(l,a);if("HTML"!==l.nodeName||T(a))r=c;else{var h=g(),u=h.height,d=h.width;r.top+=c.top-c.marginTop,r.bottom=u+c.top,r.left+=c.left-c.marginLeft,r.right=d+c.left}}return r.left+=n,r.top+=n,r.right-=n,r.bottom-=n,r}function C(t){return t.width*t.height}function A(t,e,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=b(n,i,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return ut({key:t},a[t],{area:C(a[t])})}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),f=c.length>0?c[0].key:l[0].key,h=t.split("-")[1];return f+(h?"-"+h:"")}function I(t,e,n){return v(n,f(e,n))}function O(t){var e=window.getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeighLine truncated
//# sourceMappingURL=bootstrap.bundle.min.js.map
@@ -0,0 +1 @@
{"version":3,"sources":["../../node_modules/popper.js/dist/esm/popper.js","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","window","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","indexOf","document","body","_getStyleComputedProp","overflow","overflowX","test","overflowY","getOffsetParent","offsetParent","documentElement","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","upperSide","arguments","length","undefined","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","split","getSize","computedStyle","Math","max","isIE10$1","getWindowSizes","height","width","getClientRect","offsets","_extends","getBoundingClientRect","err","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","isIE10","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","relativeOffset","innerWidth","innerHeight","isFixed","getBoundaries","popper","reference","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","area","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","parseFloat","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","slice","forEach","function","console","warn","fn","enabled","update","this","isDestroyed","instance","arrowStyles","attributes","flipped","options","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","i","prefix","toCheck","style","destroy","removeAttribute","disableEventListeners","removeOnDestroy","removeChild","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","setAttribute","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","getOppositeVariation","clockwise","counter","index","validPlacements","concat","reverse","toValue","str","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","Util","toType","toLowerCase","getSpecialTransitionEndEvent","transition","$","is","handleObj","handler","apply","transitionEndTest","QUnit","el","createElement","TransitionEndEvent","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","random","getElementById","selector","getAttribute","error","trigger","Boolean","componentName","config","configTypes","hasOwnProperty","expectedTypes","valueType","isElement","RegExp","Error","emulateTransitionEnd","supportsTransitionEnd","special","Alert","NAME","JQUERY_NO_CONFLICT","Event","ClassName","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","Selector","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","focus","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","Line truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ----------------------------------------Line truncated
+7
View File
@@ -0,0 +1,7 @@
/*!
* Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
var bootstrap=function(t,e,n){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}e=e&&e.hasOwnProperty("default")?e.default:e,n=n&&n.hasOwnProperty("default")?n.default:n;var s=function(){function t(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(){return{bindType:r.end,delegateType:r.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}}}function i(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in o)if("undefined"!=typeof t.style[e])return{end:o[e]};return!1}function s(t){var n=this,i=!1;return e(this).one(a.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||a.triggerTransitionEnd(n)},t),this}var r=!1,o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},a={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var n=t.getAttribute("data-target");n&&"#"!==n||(n=t.getAttribute("href")||"");try{return e(document).find(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger(r.end)},supportsTransitionEnd:function(){return Boolean(r)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(e,n,i){for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)){var r=i[s],o=n[s],l=o&&a.isElement(o)?"element":t(o);if(!new RegExp(r).test(l))throw new Error(e.toUpperCase()+': Option "'+s+'" provided type "'+l+'" but expected type "'+r+'".')}}};return r=i(),e.fn.emulateTransitionEnd=s,a.supportsTransitionEnd()&&(e.event.special[a.TRANSITION_END]=n()),a}(),r=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t},o=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e},a=function(){var t="alert",n=e.fn[t],i={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},o={ALERT:"alert",FADE:"fade",SHOW:"show"},a=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=s.getSelectorFromElement(t),i=!1;return n&&(i=e(n)[0]),i||(i=e(t).closest("."+o.ALERT)[0]),i},n._triggerCloseEvent=function(t){var n=e.Event(i.CLOSE);return e(t).trigger(n),n},n._removeElement=function(t){var n=this;e(t).removeClass(o.SHOW),s.supportsTransitionEnd()&&e(t).hasClass(o.FADE)?e(t).one(s.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(150):this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger(i.CLOSED).remove()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),s=i.data("bs.alert");s||(s=new t(this),i.data("bs.alert",s)),"close"===n&&s[n](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(i.CLICK_DATA_API,{DISMISS:'[data-dismiss="alert"]'}.DISMISS,a._handleDismiss(new a)),e.fn[t]=a._jQueryInterface,e.fn[t].Constructor=a,e.fn[t].noConflict=function(){return e.fn[t]=n,a._jQueryInterface},a}(),l=function(){var t="button",n=e.fn[t],i={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},o={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},a=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,r=e(this._element).closest(s.DATA_TOGGLE)[0];if(r){var o=e(this._element).find(s.INPUT)[0];if(o){if("radio"===o.type)if(o.checked&&e(this._element).hasClass(i.ACTIVE))t=!1;else{var a=e(r).find(s.ACTIVE)[0];a&&e(a).removeClass(i.ACTIVE)}if(t){if(o.hasAttribute("disabled")||r.hasAttribute("disabled")||o.classList.contains("disabled")||r.classList.contains("disabled"))return;o.checked=!e(this._element).hasClass(i.ACTIVE),e(o).trigger("change")}o.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!e(this._element).hasClass(i.ACTIVE)),t&&e(this._element).toggleClass(i.ACTIVE)},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each(function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()})},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(o.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(t){t.preventDefault();Line truncated
//# sourceMappingURL=bootstrap.min.js.map
@@ -0,0 +1 @@
{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["Util","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","transition","end","event","$","target","is","this","handleObj","handler","apply","arguments","transitionEndTest","window","QUnit","el","document","createElement","name","TransitionEndEvent","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","getElementById","element","selector","getAttribute","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","supportsTransitionEnd","special","Alert","NAME","JQUERY_NO_CONFLICT","Event","ClassName","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","Selector","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","DATA_KEY","EVENT_KEY","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","LEFT","RIGHT","slidEvent","reflow","_this3","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","Popper","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","_this8","callbacLine truncated
+10308
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+231
View File
@@ -0,0 +1,231 @@
@import url('http://fonts.googleapis.com/css?family=Kalam');
body {
background-color: black;
font-family: 'ChicagoFLFRegular';
font-weight: normal;
font-style: normal;
font-size: 90%;
color: white;
height: 100%;
}
header {
height: 200px;
position: relative;
}
section {
position: relative;
}
#sectionhash {
height: 20px;
}
#sectionwees {
height: 340px;
}
#sectionanswer {
height: 150px;
}
#sectionform {
height: 400px;
}
footer {
height: 200px;
position: relative;
}
td {
vertical-align: top;
padding-right:10px;
padding-bottom: 10px;
}
form table {
width: 100%;
border-collapse: collapse;
}
input {
width: 100%;
outline-color: #b4363b;
}
input.levelradio {
width: 10%;
}
#hashtags {
font-size: x-small;
max-width:400px;
width: 100%;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
text-align: center;
}
.headline {
padding-bottom: 4px;
}
#header {
width: 50%;
overflow: auto;
margin: auto;
position: absolute;
left: 0; bottom: 0; right: 0;
text-align: center;
display: table-cell;
vertical-align: middle;
}
#headerimg {
max-width:400px;
width: 100%;
}
#wees {
max-width:400px;
width: 100%;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
text-align: left;
}
#answer {
max-width:400px;
width: 100%;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
text-align: left;
}
#applyform {
max-width:400px;
width: 100%;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
text-align: left;
}
#apply {
background-color: #b4363b;
border: medium solid #b4363b;
font-family: 'ChicagoFLFRegular';
font-weight: normal;
font-style: normal;
color: white;
font-size: medium;
margin-top: 20px;
}
#footer {
max-width:400px;
width: 100%;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
text-align: left;
}
#planetdiv {
position: fixed;
padding: 10px;
bottom: 0;
left: 0;
right: 0;
height: 330px;
overflow: hidden;
z-index: -1;
}
#planetcut {
width: 100%;
height: auto;
max-height: 320px;
overflow: auto;
margin: auto;
position: absolute;
left: 0; bottom: 0; right: 0;
text-align: center;
display: table-cell;
vertical-align: middle;
z-index: -2;
}
#kurzlogo {
width: 150px;
overflow: auto;
margin: auto;
position: absolute;
left: 30px; bottom: 10px;
text-align: center;
display: table-cell;
vertical-align: middle;
z-index: -1;
}
#thlogo {
width: 210px;
overflow: auto;
margin: auto;
position: absolute;
left: 210px; bottom: 10px;
text-align: center;
display: table-cell;
vertical-align: middle;
z-index: -1;
}
#skydiv {
position: fixed;
padding: 10px;
top: 0;
left: 0;
right: 0;
height: 600px;
overflow: hidden;
z-index: -1;
}
#skyl{
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0;
}
#skyr {
overflow: auto;
margin: auto;
position: absolute;
top: 0; right: 0; bottom: 0;
}
a {
color: white;
text-decoration: none;
font-weight: bold;
}
+293
View File
@@ -0,0 +1,293 @@
@import url(http://fonts.googleapis.com/css?family=Roboto); /* FREE GOOGLE FONT */
body {
font-family: 'Roboto', sans-serif;
line-height: 30px;
}
.set-radius-zero {
border-radius: 0px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
}
.content-wrapper {
margin-top: 40px;
min-height: 600px;
padding-bottom: 60px;
}
.page-head-line {
font-weight: 900;
padding-bottom: 20px;
border-bottom: 2px solid #F0677C;
text-transform: uppercase;
color: #F0677C;
font-size: 20px;
margin-bottom: 40px;
}
.btn {
border-radius: 0px;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
}
.progress {
height: 8px;
border-radius: 0px;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
}
.login-icon {
height: 60px;
width: 60px;
padding: 13px;
border-radius: 50%;
font-size: 30px;
margin-bottom: 20px;
color: #fff;
text-align: center;
cursor:pointer;
background-color:#F0677C;
-webkit-border-radius:50%;
-moz-border-radius:50%;
}
/* =============================================================
HEADER SECTION STYLES
============================================================ */
header {
background-color: #F0677C;
color: #fff;
padding: 10px;
text-align: right;
}
/* =============================================================
LOGO SECTION STYLES
============================================================ */
.left-div {
padding-left: 30px;
margin-top: 40px;
margin-bottom: 30px;
}
.navbar-brand {
width: 250px;
padding-top: 30px;
}
/* USER SETTINGS DIV */
.user-settings-wrapper .nav > li > a {
position: relative;
display: block;
padding: 15px 18px;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
height: 60px;
width: 60px;
background-color: #F0677C;
color: #fff;
}
.user-settings-wrapper {
margin-top: 10px;
}
.user-settings-wrapper li {
display: inline-block;
}
.user-settings-wrapper .dropdown-settings {
width: 200px;
padding: 10px;
}
.user-settings-wrapper .nav > li > a:hover,.user-settings-wrapper .nav > li > a:focus {
text-decoration: none;
background-color: #C36464!important;
}
.user-settings-wrapper img {
height: 64px;
width: 64px;
border: 1px solid #000000;
}
.user-settings-wrapper .dropdown-menu {
margin: 0px;
border-radius: 0px!important;
-moz-border-radius: 0px!important;
-webkit-border-radius: 0px!important;
}
.user-settings-wrapper .btn {
border-radius: 0px!important;
-moz-border-radius: 0px!important;
-webkit-border-radius: 0px!important;
}
.user-settings-wrapper .media-heading {
padding-top: 10px;
}
/* MENU LINKS SECTION*/
.menu-section {
background-color: #3D3D3D;
}
#menu-top a {
color: #FFF;
text-decoration: none;
font-weight: 500;
padding: 10px 10px 10px 10px;
text-transform: uppercase;
}
.menu-top-active {
background-color: #C36464;
}
.menu-section .nav > li > a:hover,.menu-section .nav > li > a:focus {
background-color: #F0677C!important;
}
.menu-section .dropdown-menu > li > a:hover,.menu-section .dropdown-menu > li > a:focus {
background-color: #F0677C!important;
}
.navbar-inverse {
background-color: #C36464;
border-color: transparent;
}
.navbar-toggle {
background-color: #F0677C;
border: 1px solid #fff;
}
.navbar {
margin-bottom: 0px;
}
/* =============================================================
FOOTER SECTION STYLES
============================================================ */
footer {
padding: 10px;
color: #fff;
font-size: 12px;
background-color: #C36464;
}
footer a, footer a:hover {
color: #fff;
text-decoration: none;
}
/*==============================================
DASHBOARD STYLES
=============================================*/
/* DASHBOARD ICONS */
.bk-clr-one {
background-color: #B9B739;
}
.bk-clr-two {
background-color: #F94C4C;
}
.bk-clr-three {
background-color: #119c7e;
}
.bk-clr-four {
background-color: #b739b9;
}
.dashboard-div-icon {
height: 75px;
width: 75px;
border: 2px solid #fff;
padding: 20px;
border-radius: 50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
font-size: 30px;
margin-bottom: 20px;
color: #fff;
}
.dashboard-div-wrapper {
border-radius: 5px;
text-align: center;
padding: 15px;
color: #fff;
margin-bottom: 50px;
}
.dashboard-div-wrapper .progress {
height: 2px;
}
/* NOTICE BOARD */
.notice-board .panel {
border-radius: 0px;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
}
.notice-board ul {
padding-left: 0px;
list-style: none;
}
.notice-board li {
padding: 10px;
border-bottom: 1px solid #E5E5E5;
}
.notice-board li span {
margin-right: 10px;
border: 1px solid #DBDBDB;
padding: 5px;
}
.notice-board li a, li a:hover {
text-decoration: none;
color: #000;
}
/* SOCIAL BUTTONS */
.btn-social {
color: white;
opacity: 0.8;
}
.btn-social:hover {
color: white;
opacity: 1;
text-decoration: none;
}
.btn-facebook {
background-color: #3b5998;
}
.btn-twitter {
background-color: #00aced;
}
.btn-linkedin {
background-color: #0e76a8;
}
.btn-google {
background-color: #c32f10;
}
+90 -46
View File
@@ -1,6 +1,7 @@
<!DOCTYPE html>
<html lang="de">
{% load static %}
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
@@ -8,6 +9,7 @@
<link href="{% static 'css/application.css' %}" rel="stylesheet">
<link href="{% static 'bootstrap/css/bootstrap.css' %}" rel="stylesheet">
</head>
<body>
@@ -19,67 +21,109 @@
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
{% if user.is_superuser %}
<li class="nav-item">
<a class="nav-link" href="{% url 'admin:index' %}">Administration</a>
</li>
{% endif %}
{% if user.is_staff %}
<li class="nav-item">
<a class="nav-link" href="{% url 'studis:index' %}">Stammdaten</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link" href="{% url 'admin:index' %}">Administration</a>
</li>
<li>
<a class="nav-link" href="{% url 'tag_list' %}">Dashboard</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'search_add' %}">Suche</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus">+</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'post_draft_list' %}" class="top-menu"><span class="glyphicon glyphicon-edit">Entwürfe</span></a>
</li>
{% elif user.is_staff %}
<li class="nav-item">
<a class="nav-link" href="{% url 'logout' %}">Administration</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'tag_list' %}">Dashboard</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'search_add' %}">Suche</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus">+</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'post_draft_list' %}" class="top-menu"><span class="glyphicon glyphicon-edit">Entwürfe</span></a>
</li>
{% elif user.is_authenticated %}
<li class="nav-item">
<a class="nav-link" href="{% url 'tag_list' %}">{{user.get_username}}'s Dashboard</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'search_add' %}">Suche</a>
</li>
{% endif %}
</ul>
<ul class="nav navbar-nav navbar-right">
{% if user.is_authenticated %}
<li class="nav-item">
<a class="nav-link disabled" href="#">{{ user.first_name }} {{ user.last_name }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'logout' %}?next={{ LOGOUT_REDIRECT_URL }}">Abmelden</a>
</li>
{% if user.is_authenticated %}
<li class="nav-item">
<a class="nav-link disabled" href="#"></a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'logout' %}?next={{ LOGOUT_REDIRECT_URL }}">Abmelden</a>
</li>
{% else %}
<li class="dropdown">
<a id="login-button" href="#" class="dropdown-toggle nav-link" data-toggle="dropdown">
Anmelden<span class="caret"></span>
</a>
<ul id="login-dp" class="dropdown-menu">
<li>
<form class="form" role="form" method="post" action="{% url 'navlogin' %}" accept-charset="UTF-8" id="login-nav">
{% csrf_token %}
{% if next %}
<input type="hidden" name="next" value="{{ next }}" />
{% endif %}
<div class="form-group">
<label class="sr-only" for="username">Benutzername</label>
<input type="text" class="form-control" id="username" name="username" placeholder="Benutzername" required>
</div>
<div class="form-group">
<label class="sr-only" for="password">Kennwort</label>
<input type="password" class="form-control" id="password" name="password" placeholder="Kennwort" required>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Anmelden</button>
</div>
</form>
</li>
</ul>
</li>
{% endif %}
<li class="dropdown">
<a id="login-button" href="#" class="dropdown-toggle nav-link" data-toggle="dropdown">
Anmelden
<span class="caret"></span>
</a>
<ul id="login-dp" class="dropdown-menu">
<li>
<form class="form" role="form" method="post" action="{% url 'login' %}" accept-charset="UTF-8"
id="login-nav">
{% csrf_token %} {% if next %}
<input type="hidden" name="next" value="{{ next }}" /> {% endif %}
<div class="form-group">
<label class="sr-only" for="username">Benutzername</label>
<input type="text" class="form-control" id="username" name="username"
placeholder="Benutzername" required>
</div>
<div class="form-group">
<label class="sr-only" for="password">Kennwort</label>
<input type="password" class="form-control" id="password" name="password"
placeholder="Kennwort" required>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Anmelden</button>
</div>
</form>
</li>
</ul>
</li>
{% endif %}
</ul>
</div>
</nav>
{% block content %} {% endblock %}
<!-- Content -->
<div class="content container">
<div class="row">
<div class="col-md-12">
{% block content %} {% endblock %}
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="{% static 'bootstrap/js/jquery-1.11.1.js' %} "></script>
<script src="{% static 'bootstrap/jsjquery.tagcanvas.min.js' %} " type="text/javascript"></script>
<script src="{% static 'js/app.js' %}"></script>
<script src="{% static 'bootstrap/js/bootstrap.bundle.js' %}"></script>
</body>
</html>
+1 -1
View File
@@ -6,7 +6,7 @@
<div class="jumbotron">
<h1>efi Medizintechnik Informationssystem</h1>
{% if user.is_authenticated %}
<p>Herzlich Willkommen!</p>
<p>Herzlich Willkommen {{user.get_username}}!</p>
{% else %}
<p>Bitte melden Sie sich mit Ihrer Domänenkennung an.</p>
{% endif %}
+41 -16
View File
@@ -1,19 +1,44 @@
{% extends 'base.html' %} {% block content %}
<div class="post">
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
<!--
marked parts of the template is external code
import from https://tutorial.djangogirls.org/en/template_extending/
-->
{% extends 'base.html' %}{% block content %}
{% load hitcount_tags %}
<div class="col-md-8">
<!-- imported start -->
<div class="post">
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
</div>
{% else %}
<a class="btn btn-outline-dark" href="{% url 'post_publish' pk=post.pk %}">Publish</a>
<!-- imported end -->
{% endif %} {% if user.is_staff and user == post.author %}
<!-- imported start -->
<a class="btn btn-outline-dark" href="{% url 'post_edit' pk=post.pk %}">
<span class="glyphicon glyphicon-pencil">Bearbeiten</span>
</a>
<a class="btn btn-outline-dark" href="{% url 'post_remove' pk=post.pk %}">
<span class="glyphicon glyphicon-remove">Löschen</span>
</a>
{% endif %}
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaksbr }}</p>
<!-- imported end -->
Tags: {% for tag in post.tags.all %}
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a>
{% if not forloop.last %}, {% endif %} {% endfor %} <p>
{{ post.author }}
{% if user.is_staff %}
<p>
{% get_hit_count for post %} Benutzer haben diesen Post bereits gelesen!
</p>
{% endif %}
</p>
</div>
{% else %}
<a class="btn btn-default" href="{% url 'post_publish' pk=post.pk %}">Publish</a>
{% endif %}
<a class="btn btn-default" href="{% url 'post_edit' pk=post.pk %}">
<span class="glyphicon glyphicon-pencil"></span>
</a>
<a class="btn btn-default" href="{% url 'post_remove' pk=post.pk %}">
<span class="glyphicon glyphicon-remove"></span>
</a>
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaksbr }}</p>
</div>
{% endblock %}
+13 -4
View File
@@ -1,11 +1,20 @@
<!--
external code
import from https://tutorial.djangogirls.org/en/template_extending/
-->
{% extends 'base.html' %}
{% block content %}
{% for post in posts %}
<div class="post">
<div class="row">
<div class="col-md-8">
<h1> Unveröffentliche Artikel<br>
</h1>
{% for post in posts %}
<div class="post mt-5">
<p class="date">created: {{ post.created_date|date:'d-m-Y' }}</p>
<h1><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
<p>{{ post.text|truncatechars:200 }}</p>
</div>
{% endfor %}
</div>
</div>
{% endfor %}
{% endblock %}
+13 -6
View File
@@ -1,9 +1,16 @@
<!--
external code
import from https://tutorial.djangogirls.org/en/template_extending/
-->
{% extends 'base.html' %}
{% block content %}
<h1>New post</h1>
<form method="POST" class="post-form">{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Save</button>
</form>
<div class="row">
<div class="mx-auto">
<h1>Artikel-Editor</h1>
<form method="POST" class="mt-5 post-form">{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-outline-dark">Sichern</button>
</form>
</div>
</div>
{% endblock %}
+49 -10
View File
@@ -1,11 +1,50 @@
{% extends 'base.html' %} {% block content %} {% for post in posts %}
<div class="post">
<div class="date">
{{ post.published_date }}
</div>
<h1>
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a>
</h1>
<p>{{ post.text|linebreaks }}</p>
<!--
marked parts of the template is external code
import from https://tutorial.djangogirls.org/en/template_extending/
-->
{% extends 'base.html' %} {% block content %}
<div class="row">
{% if tag %} <div class="mx-auto">
<h2> Artikel mit dem Tag "{{ tag.name }}" </h2>
</div>{% endif %}
</div>
{% endfor %} {% endblock %}
<!-- imported start -->
<div class="row">
<div class="mx-auto">
<h1> Artikleübersicht </h1>
</div>
</div>
<!-- imported end -->
<div class="row">
<div class="col-md-8">
{% if messages %}
<div class="messages">
{% for message in messages %}
<p {% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</p>
{% endfor %}
</div>
<!-- imported start -->
{% endif %}
{% for post in posts %}
<div class="mt-5 post">
<div class="date">
{{ post.published_date }}
</div>
<h2>
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a>
</h2>
<p>{{ post.text|linebreaks }}</p>
<!-- imported end -->
Tags: {% for tag in post.tags.all %}
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a>
{% if not forloop.last %}, {% endif %} {% endfor %} <p>
{{ post.author }}
</p>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
+33 -5
View File
@@ -1,10 +1,15 @@
{% extends "base.html" %} {% block content %} {% if form.errors %}
{% extends "base.html" %}
{% block content %}
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %} {% if next %} {% if user.is_authenticated %}
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p>Your account doesn't have access to this page. To proceed, please login with an account that has access.</p>
{% else %}
<p>Please login to see this page.</p>
{% endif %} {% endif %}
{% endif %}
{% endif %}
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
@@ -19,9 +24,32 @@
</div>
<div>
<input type="submit" value="login" />
<input type="submit" value="login" class="btn btn-lg btn-primary"/>
<input type="hidden" name="next" value="{{ next }}" />
</div>
</form>
<div>
<div class="row">
<div class="col-md-8">
<div>
{% for post in posts %}
<div class="mt-5 post">
<div class="date">
{{ post.published_date }}
</div>
<h2>
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a>
</h2>
<p>{{ post.text|linebreaks }}</p>
Tags: {% for tag in post.tags.all %}
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a>
{% if not forloop.last %}, {% endif %} {% endfor %} <p>
{{ post.author }}
</p>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
{% endblock %}
+86
View File
@@ -0,0 +1,86 @@
<!--
marked parts of the template is external code
import from https://github.com/fizista/django-taggit-templatetags2
-->
{% extends "base.html" %} {% block content %}
<!-- imported start -->
{% load taggit_templatetags2_tags %}
<div class="container">
<div class="row equal">
<div class="col-md-6">
<h1> Alle Tags im Überblick<br>
</h1>
<div class="col-md-8" style="zoom: 1.6">
<div style="text-align:center;padding:5px;">
{% get_tagcloud as tags for 'application' %}
{% include_tagcloud 'application.Post' %}
</div>
</div>
<!-- imported end -->
<div style="padding-bottom:40px;">
</div>
Tag-Suche
<div id="custom-search-input">
<form type="get" action="." style="margin: 0" class="post-form">
<p>
<input id="search_box" type="text" name="search_box" placeholder="Search...">
</p>
<span>
<button id="search_submit" type="submit" class="save btn btn-outline-dark">Suchen</button>
</button>
</span>
</form>
<div class="pt-4">
{% for post in posts %}
<div class="post">
<div class="date">
{{ post.published_date }}
</div>
<h1>
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a>
</h1>
<p>{{ post.text|linebreaks }}</p>
{% for tag in post.tags.all %}
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a>
{% if not forloop.last %}, {% endif %} {% endfor %} <p>
{{ post.author }}
</p>
</div>
{% endfor %}
</div>
</div>
</div>
<div class="col-md-6">
<h1> Bereits abonnierten Tags
</h1>
<div class="col-md-10">
{% if tags %}
<div style="text-align:center;padding-top:40px;">
{% for tag in tagsuser %}
<a class="text-white bg-dark p-3" href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a>
{% endfor %}
</div>
{% endif %}
</div>
<div style="padding-bottom:145px;">
</div>
<div class="mx-auto">
<div>
Abonniere deine Tags hier!
</div>
<form class="post-form" method="post">
{% csrf_token %} {{form.as_p}}
<button type="submit" class="save btn btn-outline-dark">Sichern</button>
</form>
{% if messages %}
{% for message in messages %}
<div {% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</div>
{% endfor %}
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}
+46
View File
@@ -0,0 +1,46 @@
<!--
marked parts of the template is external code
import from https://tutorial.djangogirls.org/en/template_extending/
-->
{% extends "base.html" %} {% block content %}
{% load taggit_templatetags2_tags %}
<div class="row">
<div class="mx-auto">
<h1>
Dein Newsfeed ...
</h1>
</div>
</div>
<div class="row">
<div class="col-md-8">
<div>
<!-- imported start -->
{% for post in posts %}
<div class="mt-5 post">
<div class="date">
{{ post.published_date }}
</div>
<h2>
<a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a>
</h2>
<!-- imported end -->
<p>{{ post.text|linebreaks }}</p>
Tags: {% for tag in post.tags.all %}
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag.name }}</a>
{% if not forloop.last %}, {% endif %} {% endfor %} <p>
{{ post.author }}
</p>
</div>
{% endfor %}
</div>
</div>
<div class="mt-5 col-md-4">
<div class="float-right">
<a id="search_submit" href="/posts" class="save btn btn-outline-dark">alle Artikel
</a>
</div>
</div>
</div>
{% endblock %}
+22 -2
View File
@@ -1,12 +1,32 @@
from django.conf import settings
from django.conf.urls import url
from django.conf.urls import include
from django.urls import path
from . import views
from taggit_templatetags2 import urls as taggit_templatetags2_urls
import debug_toolbar
urlpatterns = [
url(r'^$', views.post_list, name='post_list'),
url(r'^$', views.tag_list, name='tag_list'),
url(r'^tag/(?P<slug>[-\w]+)/$', views.post_list, name='post_list_by_tag'),
url(r'^posts/$', views.post_list, name='post_list'),
url(r'^search/', views.search_add, name='search_add'),
url(r'^search/result/$', views.search_add, name='post_list_by_search'),
url(r'^post/(?P<pk>\d+)/$', views.post_detail, name='post_detail'),
url(r'^post/new/$', views.post_new, name='post_new'),
url(r'^post/(?P<pk>\d+)/edit/$', views.post_edit, name='post_edit'),
url(r'^drafts/$', views.post_draft_list, name='post_draft_list'),
url(r'^post/(?P<pk>\d+)/publish/$', views.post_publish, name='post_publish'),
url(r'^post/(?P<pk>\d+)/remove/$', views.post_remove, name='post_remove'),
]
url(r'^tags/', include('taggit_templatetags2.urls')),
]
#external code
#import from https://django-debug-toolbar.readthedocs.io/en/latest/installation.html
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
+102 -19
View File
@@ -1,20 +1,25 @@
from django.shortcuts import render, get_object_or_404
from django.utils import timezone
from .models import Post
from .forms import PostForm
from django.shortcuts import redirect
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login, logout
import logging
import mysite.settings
from django.shortcuts import render, get_object_or_404
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect
from django.utils import timezone
from django.contrib.admin.views.decorators import staff_member_required
from django.contrib.auth.models import User
# Create your views here.
from .models import Post, CustomUser
from taggit.models import Tag
from .forms import PostForm, NewTagForm
from django.contrib import messages
from post_office import mail
from hitcount.models import HitCount
from hitcount.views import HitCountMixin
def navlogin(request):
log = logging.getLogger('medinf')
log = logging.getLogger('mysite')
logout(request)
error = ""
if request.POST:
@@ -35,18 +40,29 @@ def navlogin(request):
context = {'error': error}
return render(request, 'index.html', context)
#external code customised
#import from https://tutorial.djangogirls.org/en/django_forms/
#start ---
@login_required
def post_list(request, slug=None):
log = logging.getLogger('mysite')
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('-published_date')
if slug:
tag = get_object_or_404(Tag, slug=slug)
posts = posts.filter(tags__in=[tag])
return render(request, 'post_list.html', locals())
def post_list(request):
posts = Post.objects.filter(
published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'post_list.html', {'posts': posts})
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'post_detail.html', {'post': post})
@login_required
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
hit_count = HitCount.objects.get_for_object(post)
hit_count_response = HitCountMixin.hit_count(request, hit_count)
return render(request, 'post_detail.html', locals())
@login_required
@staff_member_required
def post_new(request):
if request.method == "POST":
form = PostForm(request.POST)
@@ -54,12 +70,15 @@ def post_new(request):
post = form.save(commit=False)
post.author = request.user
post.save()
form.save_m2m()
return redirect('post_detail', pk=post.pk)
else:
form = PostForm()
return render(request, 'post_edit.html', {'form': form})
@login_required
@staff_member_required
def post_edit(request, pk):
post = get_object_or_404(Post, pk=pk)
if request.method == "POST":
@@ -68,25 +87,89 @@ def post_edit(request, pk):
post = form.save(commit=False)
post.author = request.user
post.save()
form.save_m2m()
return redirect('post_detail', pk=post.pk)
else:
form = PostForm(instance=post)
return render(request, 'post_edit.html', {'form': form})
@login_required
@staff_member_required
def post_draft_list(request):
posts = Post.objects.filter(
published_date__isnull=True).order_by('created_date')
return render(request, 'post_draft_list.html', {'posts': posts})
@login_required
@staff_member_required
def post_publish(request, pk):
post = get_object_or_404(Post, pk=pk)
post.publish()
return redirect('post_detail', pk=pk)
@login_required
@staff_member_required
def post_remove(request, pk):
post = get_object_or_404(Post, pk=pk)
messages.info(request, 'Der Artikel "' + post.title + '" wurde gelöscht')
post.delete()
return redirect('post_list')
#end ---
@login_required
def tag_list(request):
log = logging.getLogger('mysite')
u = User.objects.get(username=request.user)
posts = Post.objects.none()
if u:
tags_user = Tag.objects.filter(customuser__user = u)
log.info(tags_user)
for tag in tags_user:
query = Post.objects.filter(tags__in=[tag]).order_by('-published_date')
posts = list(set(posts)|set(query))
log.info(posts)
return render(request, 'tag_list.html', {'posts': posts})
@login_required
def search_add(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
if request.method == 'GET':
search_query = request.GET.get('search_box', None)
posts = posts.filter(tags__name__in=[search_query])
u = User.objects.get(username=request.user)
if u:
tagsuser = Tag.objects.filter(customuser__user = u)
user_instance = get_object_or_404(CustomUser, user=request.user)
if request.method == "POST":
form = NewTagForm(request.POST, instance=user_instance)
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
tag_names = [tag.name for tag in Tag.objects.all()]
m_tags = form.cleaned_data['tags']
m_tags = ' '.join(str(m_tags) for m_tags in m_tags)
if m_tags in tag_names:
obj.tags.add(m_tags)
obj.save()
messages.info(request, 'Der Tag "' + m_tags + '" wurde gespeichert')
return redirect('/search/')
else:
messages.info(request, 'Sorry !! Den Tag den du suchst gibt es leider nicht!')
else:
form = NewTagForm()
return render(request, 'search_add.html', locals())
#external code customised
#import from https://github.com/ui/django-post_office
mail.send(
# List of email addresses also accepted
'kleinhenz.e@gmail.com',
'esther.kleinhenz@web.de',
subject='My email',
message='Hi there!',
html_message='Hi <strong>there</strong>!',
)
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,36 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{Acknowledgements}{iii}{chapter*.2}}
\@setckpt{AcknowledgmentsDedicationSentence/acknowledgements}{
\setcounter{page}{4}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{2}
\setcounter{NAT@ctr}{0}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}
@@ -0,0 +1,36 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{Abk\"urzungsverzeichnis}{xi}{chapter*.6}}
\newacro{Bla}[\AC@hyperlink{Bla}{Bla}]{blbablabal}
\@setckpt{abkuerzungsverzeichnis/abkuerzungsverzeichnis}{
\setcounter{page}{12}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{5}
\setcounter{NAT@ctr}{0}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}
@@ -0,0 +1,37 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{Abstract}{ii}{Doc-Start}}
\@setckpt{abstract/abstract}{
\setcounter{page}{3}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{1}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,67 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand*\new@tpo@label[2]{}
\catcode `"\active
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand*\HyPL@Entry[1]{}
\AC@reset@newl@bel
\@input{titlepage/titlepage.aux}
\HyPL@Entry{0<</S/D>>}
\babel@aux{german}{}
\babel@aux{german}{}
\HyPL@Entry{1<</S/r>>}
\@input{abstract/abstract.aux}
\HyPL@Entry{5<</S/D>>}
\@writefile{toc}{\contentsline {chapter}{Abbildungsverzeichnis}{1}{chapter*.3}}
\@input{chapters/einleitung.aux}
\@input{chapters/framework.aux}
\@input{chapters/prototyp.aux}
\@input{chapters/ergebnis.aux}
\@input{chapters/ausblick.aux}
\@input{chapters/fazit.aux}
\bibstyle{alpha}
\citation{*}
\bibdata{references/References_2}
\bibcite{Bootstrap}{{BA11}{}{{}}{{}}}
\bibcite{Computer}{{Com18}{}{{}}{{}}}
\bibcite{Djangogirls}{{Dja18a}{}{{}}{{}}}
\bibcite{Djangogirls-2}{{Dja18b}{}{{}}{{}}}
\bibcite{Moodle}{{Dok15}{}{{}}{{}}}
\bibcite{Moodle-2}{{Dok18}{}{{}}{{}}}
\bibcite{Fiok}{{Fio14}{}{{}}{{}}}
\bibcite{Django-4}{{Fou18a}{}{{}}{{}}}
\bibcite{Django}{{Fou18b}{}{{}}{{}}}
\bibcite{Django-2}{{Fou18c}{}{{}}{{}}}
\bibcite{Django-3}{{Fou18d}{}{{}}{{}}}
\bibcite{Python}{{Fou18e}{}{{}}{{}}}
\@writefile{toc}{\contentsline {chapter}{Referenzen}{33}{chapter*.24}}
\bibcite{Gaynor}{{Gay10}{}{{}}{{}}}
\bibcite{Sario}{{Gmb18}{}{{}}{{}}}
\bibcite{Hellmuth}{{Hel12}{}{{}}{{}}}
\bibcite{Herzog}{{Her16}{}{{}}{{}}}
\bibcite{King}{{Kin17}{}{{}}{{}}}
\bibcite{Leipner}{{Lei13}{}{{}}{{}}}
\bibcite{Ndukwe}{{Ndu17}{}{{}}{{}}}
\bibcite{Nevius}{{Nev15}{}{{}}{{}}}
\bibcite{Ong}{{Ong18}{}{{}}{{}}}
\bibcite{Otto}{{Ott11}{}{{}}{{}}}
\bibcite{Otto-2}{{Ott12}{}{{}}{{}}}
\bibcite{Shabda}{{Sha09}{}{{}}{{}}}
\bibcite{Shelest}{{She09}{}{{}}{{}}}
\bibcite{Solutions}{{Sol17}{}{{}}{{}}}
\bibcite{Timm}{{Tim15}{}{{}}{{}}}
\bibcite{Weigend}{{Wei17}{}{{}}{{}}}
\providecommand\NAT@force@numbers{}\NAT@force@numbers
@@ -0,0 +1,187 @@
\begin{thebibliography}{Fou18d}
\bibitem[BA11]{Bootstrap}
Twitter~Inc Bootstrap~Authors.
\newblock Bootstrap repository.
\newblock 2011.
\newblock https://github.com/twbs/bootstrap.
\bibitem[Com18]{Computer}
The Computer~Language Company.
\newblock Definition of: user permissions.
\newblock 2018.
\newblock https://www.pcmag.com/encyclopedia/term/58231/user-permissions.
\bibitem[Dja18a]{Djangogirls}
Djangogirls.
\newblock Creating a blog post model.
\newblock 2018.
\newblock https://tutorial.djangogirls.org/en/django\_models/.
\bibitem[Dja18b]{Djangogirls-2}
Djangogirls.
\newblock We inspire women to fall in love with programming.
\newblock 2018.
\newblock https://djangogirls.org/.
\bibitem[Dok15]{Moodle}
Moodle Dokumentation.
\newblock Aufbau einer moodle-site.
\newblock 2015.
\newblock https://docs.moodle.org/35/de/Aufbau\_einer\_Moodle-Site.
\bibitem[Dok18]{Moodle-2}
Moodle Dokumentation.
\newblock Cron-job.
\newblock 2018.
\newblock https://docs.moodle.org/35/de/Cron-Job.
\bibitem[Fio14]{Fiok}
Marzena Fiok.
\newblock E-mail-flut sorgt für kostenlawine.
\newblock 2014.
\newblock
https://www.tecchannel.de/a/e-mail-flut-sorgt-fuer-kostenlawine,402338,3.
\bibitem[Fou18a]{Django-4}
Django~Software Foundation.
\newblock Cross site request forgery protection.
\newblock 2018.
\newblock https://docs.djangoproject.com/en/dev/ref/csrf/.
\bibitem[Fou18b]{Django}
Django~Software Foundation.
\newblock django.contrib.auth, user model.
\newblock 2018.
\newblock https://docs.djangoproject.com/en/2.1/ref/contrib/auth/.
\bibitem[Fou18c]{Django-2}
Django~Software Foundation.
\newblock Modelforms - the save() methode.
\newblock 2018.
\newblock
https://docs.djangoproject.com/en/dev/topics/forms/modelforms/\#the-save-method.
\bibitem[Fou18d]{Django-3}
Django~Software Foundation.
\newblock Working with forms.
\newblock 2018.
\newblock
https://docs.djangoproject.com/en/dev/topics/forms/\#using-a-form-in-a-view.
\bibitem[Fou18e]{Python}
Python~Software Foundation.
\newblock Virtual environments and packages.
\newblock 2018.
\newblock https://docs.python.org/3/tutorial/venv.html.
\bibitem[Gay10]{Gaynor}
Alex Gaynor.
\newblock Exploring django-taggit’s data model.
\newblock 2010.
\newblock https://django-taggit.readthedocs.io/en/latest/getting\_started.
\bibitem[Gmb18]{Sario}
Sario~Marketing GmbH.
\newblock Tagging.
\newblock 2018.
\newblock https://www.textbroker.de/tagging.
\bibitem[Hel12]{Hellmuth}
Dirk Hellmuth.
\newblock Wenn e-mails zur last werden: Wege aus der mail-Überflutung.
\newblock 2012.
\newblock
https://www.unternehmer.de/management-people-skills/138949-wenn-e-mails-zur-last-werden-wege-aus-der-mail-ueberflutung.
\bibitem[Her16]{Herzog}
Stephan Herzog.
\newblock Model view controller, model view presenter, and model view viewmodel
design patterns.
\newblock 2016.
\newblock
https://medium.com/sthzg/a-short-exploration-of-django-taggit-bb869ea5051f.
\bibitem[Kin17]{King}
Adam King.
\newblock Django middlewares and the request/response cycle.
\newblock 2017.
\newblock
https://medium.com/zeitcode/django-middlewares-and-the-request-response-cycle-fcbf8efb903f.
\bibitem[Lei13]{Leipner}
Ingo Leipner.
\newblock Stress für beschäftigte: Wie kann man die e-mail-flut
bekämpfen.
\newblock 2013.
\newblock
http://www.mz-web.de/wirtschaft/e-mail-flut-mails-bearbeiten-kommunikation-stress-zeit-sparen.
\bibitem[Ndu17]{Ndukwe}
Nnenna Ndukwe.
\newblock Python is the back-end programming language of the future and
here’s why.
\newblock 2017.
\newblock
https://medium.com/@nnennahacks/https-medium-com-nnennandukwe-python-is-the-back-end-programming-language-of-the-future-heres-why.
\bibitem[Nev15]{Nevius}
Ryan Nevius.
\newblock django-post\_office git repository.
\newblock 2015.
\newblock https://ryannevius.com.
\bibitem[Ong18]{Ong}
Selwin Ong.
\newblock Django request-response cycle.
\newblock 2018.
\newblock https://github.com/ui/django-post\_office/blob/master/AUTHORS.rst.
\bibitem[Ott11]{Otto}
Mark Otto.
\newblock Bootstrap from twitter.
\newblock 2011.
\newblock
https://blog.twitter.com/developer/en\_us/a/2011/bootstrap-twitter.html.
\bibitem[Ott12]{Otto-2}
Mark Otto.
\newblock Say hello to bootstrap 2.0.
\newblock 2012.
\newblock
https://web.archive.org/web/20120203191214/https://dev.twitter.com/blog/say-hello-to-bootstrap-2.
\bibitem[Sha09]{Shabda}
Shabda.
\newblock Understanding decorators.
\newblock 2009.
\newblock https://www.agiliq.com/blog/2009/06/understanding-decorators/.
\bibitem[She09]{Shelest}
Alexy Shelest.
\newblock Model view controller, model view presenter, and model view viewmodel
design patterns.
\newblock 2009.
\newblock
https://www.codeproject.com/Articles/42830/Model-View-Controller-Model-View-Presenter-and-Mod.
\bibitem[Sol17]{Solutions}
Mindfire Solutions.
\newblock Advantages and disadvantages of python programming language.
\newblock 2017.
\newblock
https://medium.com/@mindfiresolutions.usa/advantages-and-disadvantages-of-python-programming-language-fd0b394f2121.
\bibitem[Tim15]{Timm}
Damon Timm.
\newblock django-hitcount documentation.
\newblock 2015.
\newblock https://django-hitcount.readthedocs.io/en/latest/overview.html.
\bibitem[Wei17]{Weigend}
Michael Weigend.
\newblock {\em Python GE-PACKT}.
\newblock 2017.
\newblock Kapitel 23.1.
\end{thebibliography}
@@ -0,0 +1,87 @@
This is BibTeX, Version 0.99d (TeX Live 2018)
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
The top-level auxiliary file: /Users/Esthi/thesis_ek/doc/bachelorarbeit_EstherKleinhenz/.texpadtmp/bachelorabeit_EstherKleinhenz.aux
A level-1 auxiliary file: titlepage/titlepage.aux
A level-1 auxiliary file: abstract/abstract.aux
A level-1 auxiliary file: chapters/einleitung.aux
A level-1 auxiliary file: chapters/framework.aux
A level-1 auxiliary file: chapters/prototyp.aux
A level-1 auxiliary file: chapters/ergebnis.aux
A level-1 auxiliary file: chapters/ausblick.aux
A level-1 auxiliary file: chapters/fazit.aux
The style file: alpha.bst
Database file #1: ../references/References_2.bib
Repeated entry---line 176 of file ../references/References_2.bib
: @article{Djangogirls-2
: ,
I'm skipping whatever remains of this entry
Warning--empty journal in Bootstrap
Warning--empty journal in Computer
Warning--empty journal in Djangogirls
Warning--empty journal in Djangogirls-2
Warning--empty journal in Moodle
Warning--empty journal in Moodle-2
Warning--empty journal in Fiok
Warning--empty journal in Django-4
Warning--empty journal in Django
Warning--empty journal in Django-2
Warning--empty journal in Django-3
Warning--empty journal in Python
Warning--empty journal in Gaynor
Warning--empty journal in Sario
Warning--empty journal in Hellmuth
Warning--empty journal in Herzog
Warning--empty journal in King
Warning--empty journal in Leipner
Warning--empty journal in Ndukwe
Warning--empty journal in Nevius
Warning--empty journal in Ong
Warning--empty journal in Otto
Warning--empty journal in Otto-2
Warning--empty journal in Shabda
Warning--empty journal in Shelest
Warning--empty journal in Solutions
Warning--empty journal in Timm
Warning--empty publisher in Weigend
You've used 28 entries,
2543 wiz_defined-function locations,
707 strings with 8346 characters,
and the built_in function-call counts, 7629 in all, are:
= -- 753
> -- 224
< -- 28
+ -- 61
- -- 56
* -- 368
:= -- 1334
add.period$ -- 112
call.type$ -- 28
change.case$ -- 139
chr.to.int$ -- 23
cite$ -- 56
duplicate$ -- 394
empty$ -- 566
format.name$ -- 111
if$ -- 1489
int.to.chr$ -- 6
int.to.str$ -- 0
missing$ -- 29
newline$ -- 171
num.names$ -- 84
pop$ -- 170
preamble$ -- 1
purify$ -- 168
quote$ -- 0
skip$ -- 302
stack$ -- 0
substring$ -- 196
swap$ -- 1
text.length$ -- 28
text.prefix$ -- 27
top$ -- 0
type$ -- 220
warning$ -- 28
while$ -- 56
width$ -- 34
write$ -- 366
(There was 1 error message)
@@ -0,0 +1,27 @@
\babel@toc {german}{}
\babel@toc {german}{}
\addvspace {10\p@ }
\addvspace {10\p@ }
\contentsline {figure}{\numberline {2.1}{\ignorespaces Vereinfachter MVP [She09]\relax }}{5}{figure.caption.4}
\contentsline {figure}{\numberline {2.2}{\ignorespaces Request-Response-Kreislauf des Django Frameworks [Nev15]\relax }}{6}{figure.caption.5}
\contentsline {figure}{\numberline {2.3}{\ignorespaces Erstellen der virtuelle Umgebung im Terminal\relax }}{7}{figure.caption.6}
\contentsline {figure}{\numberline {2.4}{\ignorespaces Einbindung von Bootstrap in einer HTML-Datei\relax }}{11}{figure.caption.7}
\contentsline {figure}{\numberline {2.5}{\ignorespaces Bootstrap-Klassen in HTML-Tag\relax }}{11}{figure.caption.8}
\addvspace {10\p@ }
\contentsline {figure}{\numberline {3.1}{\ignorespaces Forschungsdesign\relax }}{14}{figure.caption.9}
\contentsline {figure}{\numberline {3.2}{\ignorespaces CustomUserModel in models.py\relax }}{16}{figure.caption.10}
\contentsline {figure}{\numberline {3.3}{\ignorespaces Datenmodellierung von \texttt {User} und \texttt {Post}\relax }}{17}{figure.caption.11}
\contentsline {figure}{\numberline {3.4}{\ignorespaces Menü für eingeloggte Benutzer mit Adminrechte\relax }}{18}{figure.caption.12}
\contentsline {figure}{\numberline {3.5}{\ignorespaces User Stories\relax }}{19}{figure.caption.13}
\contentsline {figure}{\numberline {3.6}{\ignorespaces Prototyp Artikel-Editor.\relax }}{21}{figure.caption.14}
\contentsline {figure}{\numberline {3.7}{\ignorespaces Funktion post\_edit, Auszug aus views.py.\relax }}{21}{figure.caption.15}
\contentsline {figure}{\numberline {3.8}{\ignorespaces Prototyp Suche- und Abonnier-Seite\relax }}{22}{figure.caption.16}
\contentsline {figure}{\numberline {3.9}{\ignorespaces Funktion search\_add, Auszug aus views.py.\relax }}{23}{figure.caption.17}
\contentsline {figure}{\numberline {3.10}{\ignorespaces Prototyp Newsfeed Seite\relax }}{24}{figure.caption.18}
\addvspace {10\p@ }
\contentsline {figure}{\numberline {4.1}{\ignorespaces Vergleich der hochschulinternen E-Mails\relax }}{26}{figure.caption.19}
\contentsline {figure}{\numberline {4.2}{\ignorespaces Details der relevanten E-Mails des Probanden\relax }}{27}{figure.caption.20}
\contentsline {figure}{\numberline {4.3}{\ignorespaces Details der irrelevanten E-Mails des Probanden\relax }}{28}{figure.caption.21}
\contentsline {figure}{\numberline {4.4}{\ignorespaces Vergleich der Anzahl von eintreffenden E-Mails zwischen aktueller Situation und unter Verwendung des Prototyps\relax }}{28}{figure.caption.22}
\addvspace {10\p@ }
\contentsline {figure}{\numberline {5.1}{\ignorespaces Cron-Tab der im Prototyp getesteten Benachrichtigung.\relax }}{32}{figure.caption.23}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,29 @@
\BOOKMARK [0][-]{Doc-Start}{Abstract}{}% 1
\BOOKMARK [0][-]{chapter*.3}{Abbildungsverzeichnis}{}% 2
\BOOKMARK [0][-]{chapter.1}{Einleitung}{}% 3
\BOOKMARK [1][-]{section.1.1}{Ausgangssituation}{chapter.1}% 4
\BOOKMARK [1][-]{section.1.2}{Ziel\040der\040Arbeit}{chapter.1}% 5
\BOOKMARK [0][-]{chapter.2}{Framework}{}% 6
\BOOKMARK [1][-]{section.2.1}{Django}{chapter.2}% 7
\BOOKMARK [2][-]{subsection.2.1.1}{Besonderheiten\040Djangos}{section.2.1}% 8
\BOOKMARK [2][-]{subsection.2.1.2}{Virtuelle\040Umgebung}{section.2.1}% 9
\BOOKMARK [2][-]{subsection.2.1.3}{Sicherheit}{section.2.1}% 10
\BOOKMARK [1][-]{section.2.2}{Erweiterungen}{chapter.2}% 11
\BOOKMARK [2][-]{subsection.2.2.1}{Taggable-Manager}{section.2.2}% 12
\BOOKMARK [2][-]{subsection.2.2.2}{Hilfsbibliotheken}{section.2.2}% 13
\BOOKMARK [1][-]{section.2.3}{Bootstrap}{chapter.2}% 14
\BOOKMARK [0][-]{chapter.3}{Prototyp}{}% 15
\BOOKMARK [1][-]{section.3.1}{Forschungsdesign}{chapter.3}% 16
\BOOKMARK [1][-]{section.3.2}{Organisation}{chapter.3}% 17
\BOOKMARK [2][-]{subsection.3.2.1}{Datenmodellierung}{section.3.2}% 18
\BOOKMARK [2][-]{subsection.3.2.2}{Berechtigungen\040der\040User}{section.3.2}% 19
\BOOKMARK [1][-]{section.3.3}{Funktionen}{chapter.3}% 20
\BOOKMARK [2][-]{subsection.3.3.1}{Verwaltung\040der\040Funktionen}{section.3.3}% 21
\BOOKMARK [2][-]{subsection.3.3.2}{Artikel\040abonnieren}{section.3.3}% 22
\BOOKMARK [2][-]{subsection.3.3.3}{Filtern\040von\040Artikeln}{section.3.3}% 23
\BOOKMARK [0][-]{chapter.4}{Evaluation}{}% 24
\BOOKMARK [1][-]{subsection.4.0.1}{Ergebnis}{chapter.4}% 25
\BOOKMARK [2][-]{subsection.4.0.2}{Diskussion}{subsection.4.0.1}% 26
\BOOKMARK [0][-]{chapter.5}{Schlussbetrachtung}{}% 27
\BOOKMARK [1][-]{subsection.5.0.1}{Ausblick}{chapter.5}% 28
\BOOKMARK [0][-]{chapter*.24}{Referenzen}{}% 29
@@ -0,0 +1,31 @@
\babel@toc {german}{}
\babel@toc {german}{}
\contentsline {chapter}{Abstract}{ii}{Doc-Start}
\contentsline {chapter}{Abbildungsverzeichnis}{1}{chapter*.3}
\contentsline {chapter}{\numberline {1}Einleitung}{2}{chapter.1}
\contentsline {section}{\numberline {1.1}Ausgangssituation}{2}{section.1.1}
\contentsline {section}{\numberline {1.2}Ziel der Arbeit}{3}{section.1.2}
\contentsline {chapter}{\numberline {2}Framework}{4}{chapter.2}
\contentsline {section}{\numberline {2.1}Django}{4}{section.2.1}
\contentsline {subsection}{\numberline {2.1.1}Besonderheiten Djangos}{6}{subsection.2.1.1}
\contentsline {subsection}{\numberline {2.1.2}Virtuelle Umgebung}{7}{subsection.2.1.2}
\contentsline {subsection}{\numberline {2.1.3}Sicherheit}{8}{subsection.2.1.3}
\contentsline {section}{\numberline {2.2}Erweiterungen}{8}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}Taggable-Manager}{9}{subsection.2.2.1}
\contentsline {subsection}{\numberline {2.2.2}Hilfsbibliotheken}{10}{subsection.2.2.2}
\contentsline {section}{\numberline {2.3}Bootstrap}{10}{section.2.3}
\contentsline {chapter}{\numberline {3}Prototyp}{13}{chapter.3}
\contentsline {section}{\numberline {3.1}Forschungsdesign}{13}{section.3.1}
\contentsline {section}{\numberline {3.2}Organisation}{14}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Datenmodellierung}{15}{subsection.3.2.1}
\contentsline {subsection}{\numberline {3.2.2}Berechtigungen der User}{16}{subsection.3.2.2}
\contentsline {section}{\numberline {3.3}Funktionen}{18}{section.3.3}
\contentsline {subsection}{\numberline {3.3.1}Verwaltung der Funktionen}{18}{subsection.3.3.1}
\contentsline {subsection}{\numberline {3.3.2}Artikel abonnieren}{20}{subsection.3.3.2}
\contentsline {subsection}{\numberline {3.3.3}Filtern von Artikeln}{23}{subsection.3.3.3}
\contentsline {chapter}{\numberline {4}Evaluation}{26}{chapter.4}
\contentsline {subsection}{\numberline {4.0.1}Ergebnis}{29}{subsection.4.0.1}
\contentsline {subsection}{\numberline {4.0.2}Diskussion}{29}{subsection.4.0.2}
\contentsline {chapter}{\numberline {5}Schlussbetrachtung}{31}{chapter.5}
\contentsline {subsection}{\numberline {5.0.1}Ausblick}{31}{subsection.5.0.1}
\contentsline {chapter}{Referenzen}{33}{chapter*.24}
@@ -0,0 +1,38 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand*\new@tpo@label[2]{}
\catcode `"\active
\AC@reset@newl@bel
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand*\HyPL@Entry[1]{}
\@input{titlepage/titlepage.aux}
\HyPL@Entry{0<</S/D>>}
\babel@aux{german}{}
\babel@aux{german}{}
\@input{abstract/abstract.aux}
\HyPL@Entry{2<</S/r>>}
\@input{chapters/einleitung.aux}
\HyPL@Entry{6<</S/D>>}
\@input{chapters/grundlagen.aux}
\@input{chapters/standderTechnik.aux}
\@input{chapters/softwareUndUrsprung.aux}
\@input{chapters/eigeneUntersuchungen.aux}
\@input{chapters/ausblick.aux}
\@input{chapters/fazit.aux}
\bibstyle{alpha}
\citation{*}
\bibdata{references/References_2}
\@writefile{toc}{\contentsline {chapter}{Referenzen}{15}{chapter*.4}}
@@ -0,0 +1,3 @@
\begin{thebibliography}{}
\end{thebibliography}
@@ -0,0 +1,55 @@
This is BibTeX, Version 0.99d (TeX Live 2018)
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
The top-level auxiliary file: /Users/Esthi/Downloads/Template/.texpadtmp/bachelorabeit_EstherKleinhenz.aux
A level-1 auxiliary file: titlepage/titlepage.aux
A level-1 auxiliary file: abstract/abstract.aux
A level-1 auxiliary file: chapters/einleitung.aux
A level-1 auxiliary file: chapters/grundlagen.aux
A level-1 auxiliary file: chapters/standderTechnik.aux
A level-1 auxiliary file: chapters/softwareUndUrsprung.aux
A level-1 auxiliary file: chapters/eigeneUntersuchungen.aux
A level-1 auxiliary file: chapters/ausblick.aux
A level-1 auxiliary file: chapters/fazit.aux
The style file: alpha.bst
Database file #1: ../references/References_2.bib
You've used 0 entries,
2543 wiz_defined-function locations,
567 strings with 4801 characters,
and the built_in function-call counts, 24 in all, are:
= -- 0
> -- 0
< -- 0
+ -- 0
- -- 0
* -- 2
:= -- 10
add.period$ -- 0
call.type$ -- 0
change.case$ -- 0
chr.to.int$ -- 0
cite$ -- 0
duplicate$ -- 0
empty$ -- 1
format.name$ -- 0
if$ -- 2
int.to.chr$ -- 1
int.to.str$ -- 0
missing$ -- 0
newline$ -- 3
num.names$ -- 0
pop$ -- 0
preamble$ -- 1
purify$ -- 0
quote$ -- 0
skip$ -- 2
stack$ -- 0
substring$ -- 0
swap$ -- 0
text.length$ -- 0
text.prefix$ -- 0
top$ -- 0
type$ -- 0
warning$ -- 0
while$ -- 0
width$ -- 0
write$ -- 2
@@ -0,0 +1,9 @@
\babel@toc {german}{}
\babel@toc {german}{}
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,9 @@
\babel@toc {german}{}
\babel@toc {german}{}
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
@@ -0,0 +1,11 @@
\BOOKMARK [0][-]{figure.caption.1}{Abstract}{}% 1
\BOOKMARK [0][-]{chapter.1}{Einleitung}{}% 2
\BOOKMARK [1][-]{section.1.1}{Motivation}{chapter.1}% 3
\BOOKMARK [0][-]{chapter.2}{Grundlagen}{}% 4
\BOOKMARK [1][-]{section.2.1}{Blabla}{chapter.2}% 5
\BOOKMARK [0][-]{chapter.3}{Stand\040der\040Technik}{}% 6
\BOOKMARK [0][-]{chapter.4}{Software\040und\040Ursprung}{}% 7
\BOOKMARK [0][-]{chapter.5}{Eigene\040Untersuchungen}{}% 8
\BOOKMARK [0][-]{chapter.6}{Ausblick}{}% 9
\BOOKMARK [0][-]{chapter.7}{Zusammenfassung}{}% 10
\BOOKMARK [0][-]{chapter*.4}{Referenzen}{}% 11
@@ -0,0 +1,13 @@
\babel@toc {german}{}
\babel@toc {german}{}
\contentsline {chapter}{Abstract}{i}{figure.caption.1}
\contentsline {chapter}{\numberline {1}Einleitung}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Motivation}{1}{section.1.1}
\contentsline {chapter}{\numberline {2}Grundlagen}{3}{chapter.2}
\contentsline {section}{\numberline {2.1}Blabla}{3}{section.2.1}
\contentsline {chapter}{\numberline {3}Stand der Technik}{5}{chapter.3}
\contentsline {chapter}{\numberline {4}Software und Ursprung}{7}{chapter.4}
\contentsline {chapter}{\numberline {5}Eigene Untersuchungen}{9}{chapter.5}
\contentsline {chapter}{\numberline {6}Ausblick}{11}{chapter.6}
\contentsline {chapter}{\numberline {7}Zusammenfassung}{13}{chapter.7}
\contentsline {chapter}{Referenzen}{15}{chapter*.4}
@@ -0,0 +1,36 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@setckpt{chapters/ausblick}{
\setcounter{page}{31}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{4}
\setcounter{section}{0}
\setcounter{subsection}{2}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{4}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{16}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{26}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,35 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@setckpt{chapters/eigeneUntersuchungen}{
\setcounter{page}{8}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{4}
\setcounter{section}{0}
\setcounter{subsection}{1}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{19}
\setcounter{NAT@ctr}{0}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}
@@ -0,0 +1,41 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Einleitung}{2}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Ausgangssituation}{2}{section.1.1}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Ziel der Arbeit}{3}{section.1.2}}
\@setckpt{chapters/einleitung}{
\setcounter{page}{4}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{1}
\setcounter{section}{2}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{5}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,46 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Evaluation}{26}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ch:ergebnis}{{4}{26}{Evaluation}{chapter.4}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Vergleich der hochschulinternen E-Mails\relax }}{26}{figure.caption.19}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Details der relevanten E-Mails des Probanden\relax }}{27}{figure.caption.20}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Details der irrelevanten E-Mails des Probanden\relax }}{28}{figure.caption.21}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Vergleich der Anzahl von eintreffenden E-Mails zwischen aktueller Situation und unter Verwendung des Prototyps\relax }}{28}{figure.caption.22}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.0.1}Ergebnis}{29}{subsection.4.0.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.0.2}Diskussion}{29}{subsection.4.0.2}}
\@setckpt{chapters/ergebnis}{
\setcounter{page}{31}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{4}
\setcounter{section}{0}
\setcounter{subsection}{2}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{4}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{16}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{26}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,42 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Schlussbetrachtung}{31}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ch:zusammenfassung}{{5}{31}{Schlussbetrachtung}{chapter.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.0.1}Ausblick}{31}{subsection.5.0.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Cron-Tab der im Prototyp getesteten Benachrichtigung.\relax }}{32}{figure.caption.23}}
\@setckpt{chapters/fazit}{
\setcounter{page}{33}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{5}
\setcounter{section}{0}
\setcounter{subsection}{1}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{1}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{16}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{28}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,53 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Framework}{4}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ch:framework}{{2}{4}{Framework}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Django}{4}{section.2.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Vereinfachter MVP [She09]\relax }}{5}{figure.caption.4}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Request-Response-Kreislauf des Django Frameworks [Nev15]\relax }}{6}{figure.caption.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Besonderheiten Djangos}{6}{subsection.2.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Virtuelle Umgebung}{7}{subsection.2.1.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces Erstellen der virtuelle Umgebung im Terminal\relax }}{7}{figure.caption.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Sicherheit}{8}{subsection.2.1.3}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Erweiterungen}{8}{section.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Taggable-Manager}{9}{subsection.2.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Hilfsbibliotheken}{10}{subsection.2.2.2}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Bootstrap}{10}{section.2.3}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Einbindung von Bootstrap in einer HTML-Datei\relax }}{11}{figure.caption.7}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces Bootstrap-Klassen in HTML-Tag\relax }}{11}{figure.caption.8}}
\@setckpt{chapters/framework}{
\setcounter{page}{13}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{13}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{2}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{5}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{13}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{14}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,43 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Framework}{3}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ch:framework}{{2}{3}{Framework}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Django}{3}{section.2.1}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Erweiterung}{3}{section.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Taggable-Manager}{3}{subsection.2.2.1}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Bootstrap}{3}{section.2.3}}
\@setckpt{chapters/grundlagen}{
\setcounter{page}{4}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{2}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{9}
\setcounter{NAT@ctr}{0}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}
@@ -0,0 +1,58 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Prototyp}{13}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ch:prototyp}{{3}{13}{Prototyp}{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Forschungsdesign}{13}{section.3.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Forschungsdesign\relax }}{14}{figure.caption.9}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Organisation}{14}{section.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Datenmodellierung}{15}{subsection.3.2.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces CustomUserModel in models.py\relax }}{16}{figure.caption.10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Berechtigungen der User}{16}{subsection.3.2.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Datenmodellierung von \texttt {User} und \texttt {Post}\relax }}{17}{figure.caption.11}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces Menü für eingeloggte Benutzer mit Adminrechte\relax }}{18}{figure.caption.12}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Funktionen}{18}{section.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Verwaltung der Funktionen}{18}{subsection.3.3.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces User Stories\relax }}{19}{figure.caption.13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Artikel abonnieren}{20}{subsection.3.3.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces Prototyp Artikel-Editor.\relax }}{21}{figure.caption.14}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.7}{\ignorespaces Funktion post\_edit, Auszug aus views.py.\relax }}{21}{figure.caption.15}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.8}{\ignorespaces Prototyp Suche- und Abonnier-Seite\relax }}{22}{figure.caption.16}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.9}{\ignorespaces Funktion search\_add, Auszug aus views.py.\relax }}{23}{figure.caption.17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Filtern von Artikeln}{23}{subsection.3.3.3}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.10}{\ignorespaces Prototyp Newsfeed Seite\relax }}{24}{figure.caption.18}}
\@setckpt{chapters/prototyp}{
\setcounter{page}{26}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{3}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{3}
\setcounter{section}{3}
\setcounter{subsection}{3}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{10}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{16}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{23}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,40 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Ergebnis}{7}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ch:ergebnis}{{4}{7}{Ergebnis}{chapter.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.0.1}Evaluierung}{7}{subsection.4.0.1}}
\@setckpt{chapters/softwareUndUrsprung}{
\setcounter{page}{8}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{4}
\setcounter{section}{0}
\setcounter{subsection}{1}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{19}
\setcounter{NAT@ctr}{0}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}
@@ -0,0 +1,46 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Prototyp}{5}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{ch:prototyp}{{3}{5}{Prototyp}{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Organisation}{5}{section.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Verwaltung im Administrator-Backend}{5}{subsection.3.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Berechtigung der User}{5}{subsection.3.1.2}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Funktion}{5}{section.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Abonnieren}{5}{subsection.3.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Filtern}{5}{subsection.3.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Benachrichtigung}{5}{subsection.3.2.3}}
\@setckpt{chapters/standderTechnik}{
\setcounter{page}{6}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{3}
\setcounter{section}{2}
\setcounter{subsection}{3}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{17}
\setcounter{NAT@ctr}{0}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}
@@ -0,0 +1,33 @@
\relax
\@setckpt{preambule/thesis.preamble}{
\setcounter{page}{1}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{4}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
}
@@ -0,0 +1,20 @@
\relax
\@setckpt{preambule/thesis.preamble.tex}{
\setcounter{page}{1}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
}
@@ -0,0 +1,35 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{Zusammenfassung}{i}{figure.caption.1}}
\@setckpt{summary/summary}{
\setcounter{page}{2}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{1}
\setcounter{NAT@ctr}{0}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}
@@ -0,0 +1,36 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@setckpt{titlepage/titlepage}{
\setcounter{page}{1}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{float@type}{8}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{Hy@AnnotLevel}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{parentequation}{0}
\setcounter{lstnumber}{1}
\setcounter{ContinuedFloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{r@tfl@t}{0}
\setcounter{AM@survey}{0}
\setcounter{NAT@ctr}{0}
\setcounter{section@level}{0}
\setcounter{lstlisting}{0}
}
@@ -0,0 +1,12 @@
\cleardoublepage
\addcontentsline{toc}{chapter}{Acknowledgements}
\chapter*{Acknowledgements}
I would like to express (whatever feelings I have) to:
My family and friends...
@@ -0,0 +1,7 @@
\thispagestyle{plain}
\vspace*{3cm}
To someone...
@@ -0,0 +1,8 @@
\thispagestyle{plain}
\vspace*{10cm}
`Quote text here.'\\
\\
\indent \emph{Guy Quoted}
+104
View File
@@ -0,0 +1,104 @@
%-----------------------------------------------------------------
% INSERT 1 IMAGE
%-----------------------------------------------------------------
\begin{figure}[!ht]
\centering
\includegraphics[width=1\textwidth]{IMAGE_NAME}
\caption{IMAGE_CAPTION}\label{fig:IMAGE_LABEL}
\end{figure}
\FloatBarrier
%-----------------------------------------------------------------
% START PARAGRAPH WITH NO SPACE
%-----------------------------------------------------------------
\noindent
%-----------------------------------------------------------------
% INSERT 2 OR MORE IMAGES - SIDE BY SIDE
%-----------------------------------------------------------------
\begin{figure}[!ht]
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{IMAGE_NAME}
\caption{IMAGE_CAPTION}\label{fig:IMAGE_LABEL}
\end{subfigure}
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{IMAGE_NAME}
\caption{IMAGE_CAPTION}\label{fig:IMAGE_LABEL}
\end{subfigure}
\caption{GLOBAL_FIGURE_CAPTION}\label{fig:GLOBAL_FIGURE_LABEL}
\end{figure}
\FloatBarrier
%-----------------------------------------------------------------
% INSERT 2 OR MORE IMAGES - ONE BELOW OTHER
%-----------------------------------------------------------------
\begin{figure}[!ht]
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{IMAGE_NAME}
\caption{IMAGE_CAPTION}\label{fig:IMAGE_LABEL}
\end{subfigure}
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{IMAGE_NAME}
\caption{IMAGE_CAPTION}\label{fig:IMAGE_LABEL}
\end{subfigure}
\caption{GLOBAL_FIGURE_CAPTION}\label{fig:GLOBAL_FIGURE_LABEL}
\end{figure}
\FloatBarrier
%-----------------------------------------------------------------
% INSERT TABLE
%-----------------------------------------------------------------
\begin{table}[!ht]
\caption {Mesh Parameters}\label{tab:meshpara}
\centering
\begin{tabular}{ccccc}
\hline \hline
Element Type & Elements & Nodes & Degrees of Freedom \\
\hline
Shell181 & 8000 & 8241 & 49206 \\
\hline \hline
\end{tabular}
\end{table}
\FloatBarrier
%-----------------------------------------------------------------
% INSER (ANOTHER) TABLE
%-----------------------------------------------------------------
\begin{table}[!ht]
\caption {Mesh Parameters}\label{tab:meshpara}
\centering
\begin{tabular}{ccccc}
\toprule
Element Type & Elements & Nodes & Degrees of Freedom \\
\midrule
Shell181 & 8000 & 8241 & 49206 \\
\bottomrule
\end{tabular}
\end{table}
\FloatBarrier
%-----------------------------------------------------------------
% INSERT EQUATION
%-----------------------------------------------------------------
\begin{equation}\label{eq:EQUATION_NAME}
EQUATION FORMULA
\end{equation}
%-----------------------------------------------------------------
% REFERENCES
%-----------------------------------------------------------------
\cite{REFERENCE_HERE} - reference documents
\eqref{EQUATION_HERE} - reference equations
\ref{fig:...} - reference images, tables, sections, chapters
$ EQUATION HERE $ - reference equations in the text OR insert numbers in the text
@@ -0,0 +1,8 @@
\addcontentsline{toc}{chapter}{Abk\"urzungsverzeichnis}
\chapter*{Abk{\"u}rzungsverzeichnis}
\begin{acronym}
\acro{Bla}{blbablabal}
\end{acronym}
+15
View File
@@ -0,0 +1,15 @@
\addcontentsline{toc}{chapter}{Abstract}
\chapter*{Abstract}
Das Ziel der vorliegenden Bachelor Arbeit ist es, zu beweisen, dass die E-Mail-Flut der Hochschule durch den Einsatz einer Social Media Plattform gedrosselt werden kann. Dazu wird ein Prototyp implementiert der ein personalisierbares Dashboard für Studierende bereitstellt.
Das Abonnieren von Nachrichten wird mit dem Einsatz von Tags umgesetzt. Benutzer des Systems, versehen die Nachrichten mit Schlagwörtern und machen die Informationen dadurch schneller zuweisbar. Durch die einfach Suche von Tags können Studierende diese nach eigenem Ermessen zum Dashboard hinzufügen.
Durch den Zähler einer jeden Nachricht können Autoren sehen, ob Informationen bereits gelesen wurden. Hierdurch lassen sich Schlüsse über die Nutzung der Applikation und die Relevanz des Artikels ziehen.
@@ -0,0 +1,270 @@
\newcommand{\etalchar}[1]{$^{#1}$}
\begin{thebibliography}{BEWW16}
\bibitem[Alp04]{alpaydin2004}
E.~Alpaydin.
\newblock {\em Introduction to Machine Learning}.
\newblock Adaptive computation and machine learning. MIT Press, 2004.
\bibitem[Alp08]{alpaydin2008}
Ethem Alpayd{\i}n.
\newblock {\em Maschinelles Lernen}.
\newblock Oldenbourg Verlag, 2008.
\bibitem[Alp14]{alpaydin2014}
Ethem Alpaydin.
\newblock {\em Introduction to Machine Learning}.
\newblock The MIT Press, 2014.
\bibitem[Alp16]{alpaydin2016}
Ethem Alpaydin.
\newblock {\em Machine Learning: The New AI}.
\newblock The MIT Press, 2016.
\bibitem[And]{code}
Karpathy Andrej.
\newblock Minimal character-level language model with a vanilla recurrent
neural network, in python/numpy, Abgerufen am 01.09.2017.
\bibitem[Ber17]{wdr17}
Nika Bertram.
\newblock Utopie oder endzeitphantasien?
\newblock {\em WDR}, Abgerufen am 15.09.2017 2017.
\bibitem[BEWW16]{backhaus2016multivariate}
Klaus Backhaus, Bernd Erichson, P~Wulff, and Rolf Weiber.
\newblock Multivariate analysemethoden--eine anwendungsorientierte
einf{\"u}hrung. 14., {\"u}berarbeitete und aktualisierte auflage, 2016.
\bibitem[Bri15]{WILDML}
Denny Britz.
\newblock Wildml artificial intelligence, deep learning, and nlp, Abgerufen am
19.07.2017 2015.
\bibitem[Bro16]{Brownlee2016}
Jason Brownlee.
\newblock Crash course in recurrent neural networks for deep learning,
Abgerufen am 29.07.2017 2016.
\bibitem[Dee]{Deeplearning4j}
Deeplearning4j.
\newblock A beginner’s guide to recurrent networks and lstms, Abgerufen am
27.07.2017.
\bibitem[Eur]{eurichArtikel}
Christian Eurich.
\newblock neuronale netzwerke, Abgerufen am 19.06.2017.
\bibitem[Git]{GitCsharp}
GitHub.
\newblock C\# projekte, Abgerufen am 14.09.1017.
\bibitem[Gra14]{Graves2014}
Alex Graves.
\newblock Generating sequences with recurrent neural networks.
\newblock Cornell University Library, Abgerufen am 09.09.2017 2014.
\bibitem[Ham00]{hammer2000learning}
B.~Hammer.
\newblock {\em Learning with Recurrent Neural Networks}.
\newblock Lecture Notes in Control and Information Sciences. Springer London,
2000.
\bibitem[HH17]{ten2017logistik}
Michael Hompel and Michael Henke.
\newblock Logistik 4.0--ein ausblick auf die planung und das management der
zuk{\"u}nftigen logistik vor dem hintergrund der vierten industriellen
revolution.
\newblock In {\em Handbuch Industrie 4.0 Bd. 4}, pages 247--257. Springer,
2017.
\bibitem[HS17]{HwangSung2017}
Kyuyeon Hwang and Wonyong Sung.
\newblock Character-level language modeling with hierarchical recurrent neural
networks.
\newblock Cornell Universtity Library, Abgerufen am 09.09.2017 2017.
\bibitem[Hut12]{hutterPrize}
M.~Hutter.
\newblock The human knowledge compression contest, Abgerufen am 11.09.2017
2012.
\bibitem[Ill17]{pokerGo}
Patrick Illinger.
\newblock Maschine schlägt mensch - jetzt auch beim pokern.
\newblock {\em Süddeutsche Zeitung}, Abgerufen am 17.09.2017 2017.
\bibitem[Imp17]{import}
Import.io.
\newblock Collect data and images, Abgerufen am 15.09.2017 2017.
\bibitem[Kü17]{Eike2017}
Eike Kühl.
\newblock Eine sprache macht noch keinen terminator.
\newblock {\em Zeit Online}, Abgerufen am 06.08.2017 2017.
\bibitem[Kar15]{Karpathy2015}
Andrey Karpathy.
\newblock The unreasonable effectiveness of recurrent neural networks,
Abgerufen am 09.08.2017 2015.
\bibitem[KBB{\etalchar{+}}15]{kruse2015computational}
R.~Kruse, C.~Borgelt, C.~Braune, F.~Klawonn, C.~Moewes, and M.~Steinbrecher.
\newblock {\em Computational Intelligence: Eine methodische Einf{\"u}hrung in
K{\"u}nstliche Neuronale Netze, Evolution{\"a}re Algorithmen, Fuzzy-Systeme
und Bayes-Netze}.
\newblock Computational Intelligence. Springer Fachmedien Wiesbaden, 2015.
\bibitem[KJSR16]{kim2016character}
Yoon Kim, Yacine Jernite, David Sontag, and Alexander~M Rush.
\newblock Character-aware neural language models.
\newblock In {\em AAAI}, pages 2741--2749, 2016.
\bibitem[Kni17]{Knight17}
Will Knight.
\newblock The dark secret at the heart of ai, Abgerufen am 14.09.2017 2017.
\bibitem[Kom]{neuronImage}
Medizin Kompakt.
\newblock Menschliches neuron, Abgerufen am 14.06.2017.
\bibitem[Lal]{csvBuddy}
Jean Lalonde.
\newblock Csv buddy, Abgerufen am 15.09.2017.
\bibitem[LNT98]{leisewitz1998}
MC~Leisewitz, V~Nissen, and M~Tietze.
\newblock Betriebswirtschaftliche anwendungen des soft computings-neuronale
netze, fuzzy systeme und evolution{\"a}re algorithmen.
\newblock {\em Braunschweig: Vieweg}, page 9 ff., 1998.
\bibitem[LZZ15]{LeCun15}
Yann LeCun, Xiang Zhang, and Junbo Zhao.
\newblock Character-level convolutional networks for text classification,
Abgerufen am 12.09.2017 2015.
\bibitem[Man17]{computerwoche}
Dr.~Klaus Manhart.
\newblock Was sie über maschinelles lernen wissen müssen.
\newblock {\em Computerwoche}, Abgerufen am 21.09.2017 2017.
\bibitem[Mer16]{rnnImage}
Mercyse.
\newblock Rekkurentes netz, Abgerufen am 16.05.2017 2016.
\newblock Cross-wiki upload from fa.wikipedia.org.
\bibitem[Mica]{Microsoft}
Microsoft.
\newblock Codebeispiele für entwickler, Abgerufen am 14.09.2017.
\bibitem[Micb]{NET}
Microsoft.
\newblock Download the entire source code of .net framework, Abgerufen am
13.09.2017.
\bibitem[MJ01]{medsker2001}
Larry Medsker and Lakhmi~C Jain.
\newblock {\em Recurrent neural networks: design and applications}.
\newblock CRC press, 2001.
\bibitem[MMS93a]{PennTreebank}
Mitchell~P. Marcus, Mary~Ann Marcinkiewicz, and Beatrice Santorini.
\newblock Building a large annotated corpus of english: The penn treebank.
\newblock {\em Comput. Linguist.}, 19(2):313--330, June 1993.
\bibitem[MMS93b]{Marcus:1993:BLA:972470.972475}
Mitchell~P. Marcus, Mary~Ann Marcinkiewicz, and Beatrice Santorini.
\newblock Building a large annotated corpus of english: The penn treebank.
\newblock {\em Comput. Linguist.}, 19(2):313--330, June 1993.
\bibitem[Mon98]{monpetainArtikel}
Klaus Monpetain.
\newblock Neuronale-netze eine einführung, Abgerfuen am 19.06.2017 1998.
\bibitem[Nei16]{neises2016aktuelle}
Mario Neises.
\newblock {\em Aktuelle Entwicklung und Probleme bei künstlichen Neuronalen
Netzen in Bezug auf deep learning}.
\newblock PhD thesis, Master’s thesis, Hochschule fuer Technik und Wirtschaft
Berlin, 2016.
\bibitem[Neu]{NeuroNation}
NeuroNation.
\newblock Definition der intelligenz - was ist das eigentlich?, Abgerufen am
06.08.2017.
\bibitem[Num17]{Numpy}
NumPy.
\newblock Numpy, Abgerufen am 09.09.2017 2017.
\bibitem[Ola15]{colah2015}
Christopher Olah.
\newblock Understanding lstm networks, Abgerufen am 29.07.2017 2015.
\bibitem[Ope]{nnImage}
OpenCV.
\newblock Neuronales netz, Abgerufen am 19.06.2017.
\bibitem[Pet16]{Petereit16}
Dieter Petereit.
\newblock Was ist eigentlich der unterschied zwischen ai, machine learning,
deep learning und natural language processing?
\newblock t3n - digital pioneers, Abgerufen am 17.09.2017 2016.
\bibitem[RN09]{Russell09}
Stuart~J. Russell and Peter Norvig.
\newblock {\em Artificial Intelligence: A Modern Approach}.
\newblock Pearson Education, 3 edition, 2009.
\bibitem[Ron]{torch}
Koray und~Soumith Ronan, Clément.
\newblock Torch - a scientific computing framework for luajit, Aberufen am
04.09.2017.
\bibitem[RW10]{rey2010neuronale}
G{\"u}nter~Daniel Rey and Karl~F Wender.
\newblock {\em Neuronale Netze: Eine Einf{\"u}hrung in die Grundlagen,
Anwendungen und Datenauswertung}.
\newblock Huber, 2010.
\bibitem[Set15]{MarI/O}
SethBling.
\newblock Mari/o - machine learning for video games, Abgerufen am 06.08.2017
2015.
\bibitem[SMH11]{sutskever2011generating}
Ilya Sutskever, James Martens, and Geoffrey~E Hinton.
\newblock Generating text with recurrent neural networks.
\newblock In {\em Proceedings of the 28th International Conference on Machine
Learning (ICML-11)}, pages 1017--1024, 2011.
\bibitem[Sto17]{Stockburger2017}
Christoph Stockburger.
\newblock Die denksportwagen.
\newblock {\em Spiegel Online}, Abgerufen am 06.08.2017 2017.
\bibitem[Tor]{informatikseite}
Christoph Tornau.
\newblock Die informatikseite - neuronale netze, Abgerufen am 25.07.2017.
\bibitem[Tra16]{Tran2016}
Trung Tran.
\newblock Creating a text generator using recurrent neural network, Abgerufen
am 02.09.2017 2016.
\bibitem[Tuc17]{Tuck2017}
Jay Tuck.
\newblock Künstliche intelligenz in der medizin.
\newblock {\em PC Welt}, Abgerufen am 06.08.2017 2017.
\bibitem[Vö17]{Voelkl17}
Gerhard Völkl.
\newblock Zeichenerkennung, Abgerufen am 12.09.2017 2017.
\bibitem[Wal05]{walde2005}
J.F. Walde.
\newblock {\em Design K{\"u}nstlicher Neuronaler Netze: Ein Leitfaden zur
effizienten Handhabung mehrschichtiger Perzeptrone}.
\newblock Deutscher Universit{\"a}tsverlag, 2005.
\end{thebibliography}
@@ -0,0 +1,27 @@
This is BibTeX, Version 0.99dThe top-level auxiliary file: bachelorabeit_EstherKleinhenz.aux
A level-1 auxiliary file: titlepage/titlepage.aux
A level-1 auxiliary file: summary/summary.aux
A level-1 auxiliary file: abstract/abstract.aux
A level-1 auxiliary file: abkuerzungsverzeichnis/abkuerzungsverzeichnis.aux
A level-1 auxiliary file: chapters/einleitung.aux
A level-1 auxiliary file: chapters/grundlagen.aux
A level-1 auxiliary file: chapters/standderTechnik.aux
A level-1 auxiliary file: chapters/softwareUndUrsprung.aux
A level-1 auxiliary file: chapters/eigeneUntersuchungen.aux
A level-1 auxiliary file: chapters/ausblick.aux
A level-1 auxiliary file: chapters/fazit.aux
The style file: alpha.bst
Database file #1: references/References_2.bib
Warning--there's a month but no year in code
Warning--there's a month but no year in Deeplearning4j
Warning--there's a month but no year in eurichArtikel
Warning--there's a month but no year in GitCsharp
Warning--there's a month but no year in neuronImage
Warning--there's a month but no year in csvBuddy
Warning--there's a month but no year in Microsoft
Warning--there's a month but no year in NET
Warning--there's a month but no year in NeuroNation
Warning--there's a month but no year in nnImage
Warning--there's a month but no year in torch
Warning--there's a month but no year in informatikseite
(There were 12 warnings)
Binary file not shown.
@@ -0,0 +1,9 @@
\babel@toc {german}{}
\babel@toc {german}{}
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
@@ -0,0 +1,9 @@
\babel@toc {german}{}
\babel@toc {german}{}
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
Loaded 100 of 1894 files, more files were not shown because too many files have changed in this diff. Show more