Remove CSFR from GET and redo indentation fpr HTML files.
This commit is contained in:
parent
acc210ee47
commit
ff26bc2a37
@ -5,95 +5,95 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="parallax-container">
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Die Masterarbeit</h4>
|
||||
<p>Diese Webseite sowie die für diese benötigten Daten sind im Rahmen einer Masterarbeit entstanden. In der Arbeit sind die Funktionsweise
|
||||
der Software für die automatische Auszeichnung der
|
||||
Bundestagsplenarprotokolle sowie die der Webanwendung
|
||||
beschrieben. Die Arbeit kann <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_web_app/raw/24641c2959796659d428514c9cdd3782d4248da0/2019-02-04_Stephan_Porada_Masterthesis_semi.pdf?inline=false">hier gelesen</a> werden.<p>
|
||||
<p>Weiter unten sind einige grundlegende Aspekte des Projekts kurz beschrieben. Ebenfalls kann dort der Quellcode der Webanwendung und der Software für die automatische Auszeichnung heruntergeladen werden.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Die Masterarbeit</h4>
|
||||
<p>Diese Webseite sowie die für diese benötigten Daten sind im Rahmen einer Masterarbeit entstanden. In der Arbeit sind die Funktionsweise
|
||||
der Software für die automatische Auszeichnung der
|
||||
Bundestagsplenarprotokolle sowie die der Webanwendung
|
||||
beschrieben. Die Arbeit kann <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_web_app/raw/24641c2959796659d428514c9cdd3782d4248da0/2019-02-04_Stephan_Porada_Masterthesis_semi.pdf?inline=false">hier gelesen</a> werden.<p>
|
||||
<p>Weiter unten sind einige grundlegende Aspekte des Projekts kurz beschrieben. Ebenfalls kann dort der Quellcode der Webanwendung und der Software für die automatische Auszeichnung heruntergeladen werden.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Datengrundlage</h4>
|
||||
<p>Die Ausgangsdaten, welche für das Projekt genutzt wurden, sind für
|
||||
alle Bürger und Bürgerinnen auf der
|
||||
<a href="https://www.bundestag.de/service/opendata">Webseite des Bundestag</a>
|
||||
frei zugänglich.</p>
|
||||
<p>Im Rahmen einer Open
|
||||
Data-Initiative stellt der deutsche Bundestag alle Plenarprotokolle
|
||||
sowie die biografischen Daten aller Abgeordneten seit 1949 als
|
||||
XML-Dateien zur Verfügung.</p>
|
||||
<p>
|
||||
Das Projekt Bundesdata umfasst alle XML-Protokolle der Wahlperioden 1.
|
||||
bis 18. und deckt somit den Zeitraum von 1949 bis 2017 ab.<p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Datengrundlage</h4>
|
||||
<p>Die Ausgangsdaten, welche für das Projekt genutzt wurden, sind für
|
||||
alle Bürger und Bürgerinnen auf der
|
||||
<a href="https://www.bundestag.de/service/opendata">Webseite des Bundestag</a>
|
||||
frei zugänglich.</p>
|
||||
<p>Im Rahmen einer Open
|
||||
Data-Initiative stellt der deutsche Bundestag alle Plenarprotokolle
|
||||
sowie die biografischen Daten aller Abgeordneten seit 1949 als
|
||||
XML-Dateien zur Verfügung.</p>
|
||||
<p>
|
||||
Das Projekt Bundesdata umfasst alle XML-Protokolle der Wahlperioden 1.
|
||||
bis 18. und deckt somit den Zeitraum von 1949 bis 2017 ab.<p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Automatische Auszeichnung</h4>
|
||||
<p>Da die von derBundesregierung bereitstellen XML-Protokolle nur wenig
|
||||
bis keine maschinenlesbare Informationen dazu enthalten, welcher
|
||||
Abgeordnete oder welche Abgeordnete zu welchem Zeitpunkt einen Redebeitrag
|
||||
im Bundestag hatte, sind die Ausgangsdaten im Rahmen des Projekts
|
||||
automatisch mit weiteren Informationen angereichert und strukturiert
|
||||
worden. Hierfür wurde eine eigene Software entwickelt, die die öffentlich verfügbaren XML-Protokolle automatisch mit zusätzliche Metadaten auszeichnet. Diese Auszeichnung ermöglicht es die Protokolle auf der Website strukturiert darzustellen und durchsuchbar zu machen. Ebenfalls können so auch erst die N-Gramme für den Ngram Viewer berechnet werden.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Automatische Auszeichnung</h4>
|
||||
<p>Da die von derBundesregierung bereitstellen XML-Protokolle nur wenig
|
||||
bis keine maschinenlesbare Informationen dazu enthalten, welcher
|
||||
Abgeordnete oder welche Abgeordnete zu welchem Zeitpunkt einen Redebeitrag
|
||||
im Bundestag hatte, sind die Ausgangsdaten im Rahmen des Projekts
|
||||
automatisch mit weiteren Informationen angereichert und strukturiert
|
||||
worden. Hierfür wurde eine eigene Software entwickelt, die die öffentlich verfügbaren XML-Protokolle automatisch mit zusätzliche Metadaten auszeichnet. Diese Auszeichnung ermöglicht es die Protokolle auf der Website strukturiert darzustellen und durchsuchbar zu machen. Ebenfalls können so auch erst die N-Gramme für den Ngram Viewer berechnet werden.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Quellcode für Software und Webanwendung</h4>
|
||||
<p>
|
||||
Der Quellcode für die eigens entwickelte Software, welche die automatische
|
||||
Auszeichnung erstellt hat, kann auf <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_markup_nlp_software">GitLab</a> eingesehen und
|
||||
heruntergeladen werden. Der Quellcode für die Webseite ist ebenfalls
|
||||
auf <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_web_app">GitLab</a> verfügbar.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Quellcode für Software und Webanwendung</h4>
|
||||
<p>
|
||||
Der Quellcode für die eigens entwickelte Software, welche die automatische
|
||||
Auszeichnung erstellt hat, kann auf <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_markup_nlp_software">GitLab</a> eingesehen und
|
||||
heruntergeladen werden. Der Quellcode für die Webseite ist ebenfalls
|
||||
auf <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_web_app">GitLab</a> verfügbar.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Download der ausgezeichneten Daten</h4>
|
||||
<p>
|
||||
Die für das Projekt mittels der eigenen Software erstellten XML-Protokolle sowie weitere Forschungsdaten können <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_markup_nlp_data"> hier heruntergeladen werden</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Download der ausgezeichneten Daten</h4>
|
||||
<p>
|
||||
Die für das Projekt mittels der eigenen Software erstellten XML-Protokolle sowie weitere Forschungsdaten können <a href="https://gitlab.ub.uni-bielefeld.de/sporada/bundesdata_markup_nlp_data"> hier heruntergeladen werden</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Fehlerquoten und Probleme der Ausgangsdaten</h4>
|
||||
<p>Die automatische Auszeichnung der Protokolle ist nicht gänzlich fehlerfrei.
|
||||
Somit können Fehler bei der Darstellung der Reden auf der Website auftreten.
|
||||
Wie hoch genau die einzelen Fehlerqouten sind, ist in der <a href="#">Masterarbeit</a> beschrieben</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row ">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Fehlerquoten und Probleme der Ausgangsdaten</h4>
|
||||
<p>Die automatische Auszeichnung der Protokolle ist nicht gänzlich fehlerfrei.
|
||||
Somit können Fehler bei der Darstellung der Reden auf der Website auftreten.
|
||||
Wie hoch genau die einzelen Fehlerqouten sind, ist in der <a href="#">Masterarbeit</a> beschrieben</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
<div class="parallax"><img src="{% static "/blog/images/4094966.jpg" %}"></div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -9,94 +9,94 @@ Also all needes JavaScript and CSS is laoded here.-->
|
||||
<html lang="ger">
|
||||
|
||||
<head>
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<!--Let browser know website is optimized for mobile-->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<!--Import materialize.css-->
|
||||
<link type="text/css" rel="stylesheet" href="{% static "blog/materialize/css/materialize.css" %}" media="screen,projection" />
|
||||
<!-- import materialize icons css -->
|
||||
<link type="text/css" rel="stylesheet" href="{% static "blog/material-design-icons/iconfont/material-icons.css"%}">
|
||||
<!-- Import own css -->
|
||||
<link type="text/css" rel="stylesheet" href="{% static "blog/main.css" %}" media="screen,projection" />
|
||||
{% if title %}
|
||||
<title>Bundesdata – {{ title }}</title>
|
||||
{% else %}
|
||||
<title>Bundesdata</title>
|
||||
{% endif %}
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{% static "blog/images/favicon/apple-touch-icon.png" %}">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{% static "blog/images/favicon/favicon-32x32.png" %}">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{% static "blog/images/favicon/favicon-16x16.png" %}">
|
||||
<link rel="manifest" href="{% static "blog/images/favicon/site.webmanifest" %}>
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<!--Let browser know website is optimized for mobile-->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<!--Import materialize.css-->
|
||||
<link type="text/css" rel="stylesheet" href="{% static "blog/materialize/css/materialize.css" %}" media="screen,projection" />
|
||||
<!-- import materialize icons css -->
|
||||
<link type="text/css" rel="stylesheet" href="{% static "blog/material-design-icons/iconfont/material-icons.css"%}">
|
||||
<!-- Import own css -->
|
||||
<link type="text/css" rel="stylesheet" href="{% static "blog/main.css" %}" media="screen,projection" />
|
||||
{% if title %}
|
||||
<title>Bundesdata – {{ title }}</title>
|
||||
{% else %}
|
||||
<title>Bundesdata</title>
|
||||
{% endif %}
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{% static "blog/images/favicon/apple-touch-icon.png" %}">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{% static "blog/images/favicon/favicon-32x32.png" %}">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{% static "blog/images/favicon/favicon-16x16.png" %}">
|
||||
<link rel="manifest" href="{% static "blog/images/favicon/site.webmanifest" %}">
|
||||
</head>
|
||||
|
||||
<body class="blue-grey lighten-5">
|
||||
<!-- Dropdown Structure -->
|
||||
<ul id="dropdown_protocols" class="dropdown-content">
|
||||
<li><a href="{% url "Protokoll-list" %}"><i class="material-icons left"">insert_drive_file</i>Protokolle</a></li>
|
||||
<li><a href="{% url "Reden" %}"><i class="material-icons left"">insert_comment</i>Reden</a></li>
|
||||
</ul>
|
||||
<nav class="light-green darken-1 nav-extended">
|
||||
<div class="container">
|
||||
<div class="nav-wrapper">
|
||||
<a href="/" class="brand-logo">Bundesdata</a>
|
||||
<a href="#" data-target="mobile-demo" class="sidenav-trigger"><i class="material-icons">menu</i></a>
|
||||
<ul class="right hide-on-med-and-down">
|
||||
<li><a href="{% url "MdBs" %}"><i class="material-icons left"">account_circle</i>MdBs</a></li>
|
||||
<!-- Dropdown Trigger -->
|
||||
<li><a class="dropdown-trigger" href="#!" data-target="dropdown_protocols"><i class="material-icons left"">insert_drive_file</i>Dokumente<i class="material-icons right">arrow_drop_down</i></a></li>
|
||||
<li><a href="{% url "ngram-viewer-jahr" %}"><i class="material-icons left"">trending_up</i>Ngram Viewer</a></li>
|
||||
<li><a href="{% url "about-page" %}"><i class="material-icons left"">info_outline</i>Info</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% block nav-tabs %}
|
||||
{% endblock nav-tabs %}
|
||||
</nav>
|
||||
<ul id="dropdown_protocols_side" class="dropdown-content">
|
||||
<li><a href="{% url "Protokoll-list" %}"><i class="material-icons left"">insert_drive_file</i>Protokolle</a></li>
|
||||
<li><a href="{% url "Reden" %}"><i class="material-icons left"">insert_comment</i>Reden</a></li>
|
||||
</ul>
|
||||
<ul class="sidenav" id="mobile-demo">
|
||||
<li><a href="/" class="brand-logo">Bundesdata</a></li>
|
||||
<li><a href="{% url "MdBs" %}}"><i class="material-icons"">account_circle</i>MdBs</a></li>
|
||||
<li><a class="dropdown-trigger" href="#!" data-target="dropdown_protocols_side"><i class="material-icons left"">insert_drive_file</i>Dokumente<i class="material-icons right">arrow_drop_down</i></a></li>
|
||||
<li><a href="{% url "ngram-viewer-jahr" %}"><i class="material-icons"">trending_up</i>Ngram Viewer</a></li>
|
||||
<li><a href="{% url "about-page" %}"><i class="material-icons"">info_outline</i>Info</a></li>
|
||||
</ul>
|
||||
<!-- Dropdown Structure -->
|
||||
<ul id="dropdown_protocols" class="dropdown-content">
|
||||
<li><a href="{% url "Protokoll-list" %}"><i class="material-icons left"">insert_drive_file</i>Protokolle</a></li>
|
||||
<li><a href="{% url "Reden" %}"><i class="material-icons left"">insert_comment</i>Reden</a></li>
|
||||
</ul>
|
||||
<nav class="light-green darken-1 nav-extended">
|
||||
<div class="container">
|
||||
<div class="nav-wrapper">
|
||||
<a href="/" class="brand-logo">Bundesdata</a>
|
||||
<a href="#" data-target="mobile-demo" class="sidenav-trigger"><i class="material-icons">menu</i></a>
|
||||
<ul class="right hide-on-med-and-down">
|
||||
<li><a href="{% url "MdBs" %}"><i class="material-icons left"">account_circle</i>MdBs</a></li>
|
||||
<!-- Dropdown Trigger -->
|
||||
<li><a class="dropdown-trigger" href="#!" data-target="dropdown_protocols"><i class="material-icons left"">insert_drive_file</i>Dokumente<i class="material-icons right">arrow_drop_down</i></a></li>
|
||||
<li><a href="{% url "ngram-viewer-jahr" %}"><i class="material-icons left"">trending_up</i>Ngram Viewer</a></li>
|
||||
<li><a href="{% url "about-page" %}"><i class="material-icons left"">info_outline</i>Info</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% block nav-tabs %}
|
||||
{% endblock nav-tabs %}
|
||||
</nav>
|
||||
<ul id="dropdown_protocols_side" class="dropdown-content">
|
||||
<li><a href="{% url "Protokoll-list" %}"><i class="material-icons left"">insert_drive_file</i>Protokolle</a></li>
|
||||
<li><a href="{% url "Reden" %}"><i class="material-icons left"">insert_comment</i>Reden</a></li>
|
||||
</ul>
|
||||
<ul class="sidenav" id="mobile-demo">
|
||||
<li><a href="/" class="brand-logo">Bundesdata</a></li>
|
||||
<li><a href="{% url "MdBs" %}}"><i class="material-icons"">account_circle</i>MdBs</a></li>
|
||||
<li><a class="dropdown-trigger" href="#!" data-target="dropdown_protocols_side"><i class="material-icons left"">insert_drive_file</i>Dokumente<i class="material-icons right">arrow_drop_down</i></a></li>
|
||||
<li><a href="{% url "ngram-viewer-jahr" %}"><i class="material-icons"">trending_up</i>Ngram Viewer</a></li>
|
||||
<li><a href="{% url "about-page" %}"><i class="material-icons"">info_outline</i>Info</a></li>
|
||||
</ul>
|
||||
|
||||
<main>
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
</main>
|
||||
<main>
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
</main>
|
||||
|
||||
<footer class="page-footer light-green darken-1">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<h5 class="white-text">Bundesdata</h5>
|
||||
<p class="grey-text text-lighten-4">Ein Projekt für Politikinteressierte.</p>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="page-footer light-green darken-1">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<h5 class="white-text">Bundesdata</h5>
|
||||
<p class="grey-text text-lighten-4">Ein Projekt für Politikinteressierte.</p>
|
||||
</div>
|
||||
<div class="footer-copyright">
|
||||
<div class="container">
|
||||
© 2019 Copyright <a class="grey-text text-lighten-4" href="#">Stephan Porada</a>
|
||||
<a class="grey-text text-lighten-4 right" href="{% url "impressum" %}">Impressum</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- Optional JavaScript -->
|
||||
<script src="{% static "blog/materialize/js/materialize.min.js" %}"></script>
|
||||
<script>
|
||||
M.AutoInit();
|
||||
M.Dropdown.init(
|
||||
document.querySelectorAll('.dropdown-trigger'),
|
||||
{"coverTrigger": false}
|
||||
)
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
M.Slider.init(document.querySelectorAll('.slider'), {});
|
||||
});
|
||||
</script>
|
||||
<script src="{% static "blog/chartjs/Chart.bundle.js"%}"></script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-copyright">
|
||||
<div class="container">
|
||||
© 2019 Copyright <a class="grey-text text-lighten-4" href="#">Stephan Porada</a>
|
||||
<a class="grey-text text-lighten-4 right" href="{% url "impressum" %}">Impressum</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- Optional JavaScript -->
|
||||
<script src="{% static "blog/materialize/js/materialize.min.js" %}"></script>
|
||||
<script>
|
||||
M.AutoInit();
|
||||
M.Dropdown.init(
|
||||
document.querySelectorAll('.dropdown-trigger'),
|
||||
{"coverTrigger": false}
|
||||
)
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
M.Slider.init(document.querySelectorAll('.slider'), {});
|
||||
});
|
||||
</script>
|
||||
<script src="{% static "blog/chartjs/Chart.bundle.js"%}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,11 +1,11 @@
|
||||
{% extends "blog/base.html" %}
|
||||
|
||||
<!-- For now unsed tempalte for blog pages. -->
|
||||
<!-- For now unused template for blog pages. -->
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<h1>Blog page!</h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<h1>Blog page!</h1>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -7,173 +7,173 @@ app.-->
|
||||
|
||||
{% block content %}
|
||||
<div class="parallax-container">
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4116197.jpg" %}">
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4116197.jpg" %}">
|
||||
</div>
|
||||
<div class="section white hide-on-large-only">
|
||||
<div class="row container">
|
||||
<ul class="collection">
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "MdBs" %}"><i class="material-icons circle blue-grey">account_circle</i>
|
||||
<span class="title">Abgeordnete (MdBs)</span></a>
|
||||
<p class="grey-text text-darken-3 lighten-3">Profile aller Mitglieder des Deutschen Bundestags von 1949 bis heute.</p>
|
||||
<p class="grey-text text-darken-3 lighten-3">Durchsuch- und sortierbare Liste.</p>
|
||||
</li>
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "Protokoll-list" %}"><i class="material-icons circle blue-grey">insert_drive_file</i>
|
||||
<span class="title">Protokolle</span></a>
|
||||
<p>Liste der Plenarprotokolle von 1949 bis einschließlich 2017.</p>
|
||||
</li>
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "Reden" %}"><i class="material-icons circle blue-grey">insert_comment</i>
|
||||
<span class="title">Reden</span></a>
|
||||
<p>Übersicht über alle einzelnen Reden und Redebeiträge der Mitglieder des Bundestags von 1949 bis 2017.</p>
|
||||
</li>
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "ngram-viewer-jahr" %}"><i class="material-icons circle blue-grey">trending_up</i>
|
||||
<span class="title">Ngram Viewer</span></a>
|
||||
<p>Mit dem Ngram Viewer können Begriffshäufigkeiten dargestellt werden.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section white hide-on-large-only">
|
||||
<div class="row container">
|
||||
<ul class="collection">
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "MdBs" %}"><i class="material-icons circle blue-grey">account_circle</i>
|
||||
<span class="title">Abgeordnete (MdBs)</span></a>
|
||||
<p class="grey-text text-darken-3 lighten-3">Profile aller Mitglieder des Deutschen Bundestags von 1949 bis heute.</p>
|
||||
<p class="grey-text text-darken-3 lighten-3">Durchsuch- und sortierbare Liste.</p>
|
||||
</li>
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "Protokoll-list" %}"><i class="material-icons circle blue-grey">insert_drive_file</i>
|
||||
<span class="title">Protokolle</span></a>
|
||||
<p>Liste der Plenarprotokolle von 1949 bis einschließlich 2017.</p>
|
||||
</li>
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "Reden" %}"><i class="material-icons circle blue-grey">insert_comment</i>
|
||||
<span class="title">Reden</span></a>
|
||||
<p>Übersicht über alle einzelnen Reden und Redebeiträge der Mitglieder des Bundestags von 1949 bis 2017.</p>
|
||||
</li>
|
||||
<li class="collection-item avatar">
|
||||
<a href="{% url "ngram-viewer-jahr" %}"><i class="material-icons circle blue-grey">trending_up</i>
|
||||
<span class="title">Ngram Viewer</span></a>
|
||||
<p>Mit dem Ngram Viewer können Begriffshäufigkeiten dargestellt werden.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="container hide-on-med-and-down">
|
||||
<div class="row" style="margin-top: 25px;">
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">account_circle</i></p>
|
||||
<span class="card-title">Abgeordnete (MdBs)</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Profile aller Mitglieder des Deutschen Bundestags von 1949 bis heute.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "MdBs" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zu den MdBs</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container hide-on-med-and-down">
|
||||
<div class="row" style="margin-top: 25px;">
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4"">account_circle</i></p>
|
||||
<span class=" card-title">Abgeordnete (MdBs)</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Profile aller Mitglieder des Deutschen Bundestags von 1949 bis heute.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "MdBs" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zu den MdBs</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_drive_file</i></p>
|
||||
<span class="card-title">Protokolle</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Liste der Plenarprotokolle von 1949 bis einschließlich 2017.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "Protokoll-list" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zu den Protokollen</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_comment</i></p>
|
||||
<span class="card-title">Reden</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Übersicht über alle einzelnen Reden und Redebeiträge der Mitglieder des Bundestags von 1949 bis 2017.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "Reden" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zu den Reden</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">trending_up</i></p>
|
||||
<span class="card-title">Ngram Viewer</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Stellt Begriffshäufigkeiten der Reden über den Zeitram von 1949 bis 2017 dar.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "ngram-viewer-jahr" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zum Ngram Viewer</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_drive_file</i></p>
|
||||
<span class="card-title">Protokolle</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Liste der Plenarprotokolle von 1949 bis einschließlich 2017.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "Protokoll-list" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zu den Protokollen</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_comment</i></p>
|
||||
<span class="card-title">Reden</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Übersicht über alle einzelnen Reden und Redebeiträge der Mitglieder des Bundestags von 1949 bis 2017.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "Reden" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zu den Reden</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12 m3 l3">
|
||||
<div class="card medium hoverable">
|
||||
<div class="card-content">
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">trending_up</i></p>
|
||||
<span class="card-title">Ngram Viewer</span>
|
||||
<p class="grey-text text-darken-3 lighten-3">Stellt Begriffshäufigkeiten der Reden über den Zeitram von 1949 bis 2017 dar.</p>
|
||||
</div>
|
||||
<div class="card-action">
|
||||
<a href="{% url "ngram-viewer-jahr" %}"><span class="light-green-text text-darken-4"><i class="material-icons right">send</i>Zum Ngram Viewer</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4094966.jpg" %}">
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4094966.jpg" %}">
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Das Projekt</h4>
|
||||
<p>Das Projekt Bundesdata
|
||||
möchte die Bundestagsplenarprotokolle für alle
|
||||
Bürger und Bürgerinnen in einer strukturierten und einfachen Form
|
||||
zugänglich und analysierbar machen sowie interaktive Statistiken zu diesen liefern.</p>
|
||||
<p>Für dieses Unterfangen
|
||||
wurden die von der Bundesregierung bereitgestellten XML-Versionen der
|
||||
Bundestagsplenarprotokolle automatisch mit zusätzlichen Informationen
|
||||
versehen und strukturiert. Mit den verschiednen Tools auf Bundesdata
|
||||
können die Protokolle von 1949 bis 2017 einfach durchsucht und
|
||||
deren Inhalte analysiert werden.</p>
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Das Projekt</h4>
|
||||
<p">Das Projekt Bundesdata
|
||||
möchte die Bundestagsplenarprotokolle für alle
|
||||
Bürger und Bürgerinnen in einer strukturierten und einfachen Form
|
||||
zugänglich und analysierbar machen sowie interaktive Statistiken zu diesen liefern.</p>
|
||||
<p>Für dieses Unterfangen
|
||||
wurden die von der Bundesregierung bereitgestellten XML-Versionen der
|
||||
Bundestagsplenarprotokolle automatisch mit zusätzlichen Informationen
|
||||
versehen und strukturiert. Mit den verschiednen Tools auf Bundesdata
|
||||
können die Protokolle von 1949 bis 2017 einfach durchsucht und
|
||||
deren Inhalte analysiert werden.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4116197.jpg" %}">
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Die Tools</h4>
|
||||
<p>Politikinteressierte können z.B.
|
||||
recherchieren, welches <a href="{% url "MdBs" %}">Mitglied des Bundestags</a> zu welcher Zeit der
|
||||
deutschen Geschichte welche <a href="{% url "Reden"%}">Reden oder Redebeiträge</a> im Bundestag
|
||||
gehalten hat. Mit Hilfe des <a href="{% url "ngram-viewer-jahr"%}">Ngram Viewers</a> können Begriffe im Verlauf
|
||||
der Zeit dargestellt werden, um geschichtliche und politische Ereignisse,
|
||||
die sich in der Sprache der Reden widerspiegeln, sichtbar und analysierbar
|
||||
zu machen.</p>
|
||||
<p>Das Projekt ist im Rahmen einer Masterarbeit entstanden.
|
||||
Mehr Informationen zum Projekt, der Arbeit, der Datengrundlage sowie der
|
||||
automatischen Auszeichnung mit zusätzlichen Informationen und
|
||||
Metadaten gibt es auf der <a href="{% url "about-page" %}">Info-Seite</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4116197.jpg" %}">
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<h4 class="header black-text">Die Tools</h4>
|
||||
<p>Politikinteressierte können z.B.
|
||||
recherchieren, welches <a href="{% url "MdBs" %}">Mitglied des Bundestags</a> zu welcher Zeit der
|
||||
deutschen Geschichte welche <a href="{% url "Reden"%}">Reden oder Redebeiträge</a> im Bundestag
|
||||
gehalten hat. Mit Hilfe des <a href="{% url "ngram-viewer-jahr"%}">Ngram Viewers</a> können Begriffe im Verlauf
|
||||
der Zeit dargestellt werden, um geschichtliche und politische Ereignisse,
|
||||
die sich in der Sprache der Reden widerspiegeln, sichtbar und analysierbar
|
||||
zu machen.</p>
|
||||
<p>Das Projekt ist im Rahmen einer Masterarbeit entstanden.
|
||||
Mehr Informationen zum Projekt, der Arbeit, der Datengrundlage sowie der
|
||||
automatischen Auszeichnung mit zusätzlichen Informationen und
|
||||
Metadaten gibt es auf der <a href="{% url "about-page" %}">Info-Seite</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4116197.jpg" %}">
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<br />
|
||||
<div class="slider">
|
||||
<ul class="slides" style="background-color: inherit; text-align: center;">
|
||||
<li>
|
||||
<img src="{% static "/blog/images/slide_ngram_viewer.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img src="{% static "/blog/images/slider_profile.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img src="{% static "/blog/images/one_speech.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img src="{% static "/blog/images/one_protocol.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4116197.jpg" %}">
|
||||
</div>
|
||||
<div class="section white">
|
||||
<div class="row">
|
||||
<div class="container grey-text text-darken-3 lighten-3">
|
||||
<br />
|
||||
<div class="slider">
|
||||
<ul class="slides" style="background-color: inherit; text-align: center;">
|
||||
<li>
|
||||
<img src="{% static "/blog/images/slide_ngram_viewer.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img src="{% static "/blog/images/slider_profile.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img src="{% static "/blog/images/one_speech.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<img src="{% static "/blog/images/one_protocol.png" %}"> <!-- random image -->
|
||||
<div class="caption right-align">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="parallax-container">
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4094966.jpg" %}">
|
||||
</div>
|
||||
<div class="parallax">
|
||||
<img src="{% static "/blog/images/4094966.jpg" %}">
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -4,61 +4,61 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Impressum</span>
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Impressum</span>
|
||||
|
||||
<b>Angaben gemäß § 5 TMG</b>
|
||||
<br />
|
||||
<p>Stephan Porada<br />
|
||||
Bremer Straße 17a<br />
|
||||
33613 Bielefeld</p>
|
||||
<br />
|
||||
<b>Kontakt</b>
|
||||
<br />
|
||||
<p>E-Mail: sporada@uni-bielefeld.de</p>
|
||||
<br />
|
||||
<b>Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV</b>
|
||||
<br />
|
||||
<p>Stephan Porada<br />
|
||||
Bremer Straße 17a<br />
|
||||
33613 Bielefeld</p>
|
||||
<br />
|
||||
<b>Haftung für Inhalte</b>
|
||||
<br />
|
||||
<p>Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den
|
||||
allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht
|
||||
verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu
|
||||
forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
|
||||
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen
|
||||
Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der
|
||||
Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden
|
||||
Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.</p>
|
||||
<br />
|
||||
<p>Haftung für Links
|
||||
Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben.
|
||||
Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der
|
||||
verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten
|
||||
2 / 4Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte
|
||||
waren zum Zeitpunkt der Verlinkung nicht erkennbar.
|
||||
Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer
|
||||
Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links
|
||||
umgehend entfernen.</p>
|
||||
<br />
|
||||
<p>Quelle:
|
||||
eRecht24</p>
|
||||
<br />
|
||||
<b>Quelle der Bilder:</b>
|
||||
<p>
|
||||
Bild 4094966.jpg auf der Homepage und Infoseite: (c) Deutscher Bundestag / Marc-Steffen Unger <br />
|
||||
Bild 4116197.jpg auf der Homepage und Infoseite: (c) Deutscher Bundestag / Thomas Köhler/photothek.net <br />
|
||||
</p>
|
||||
<b>Angaben gemäß § 5 TMG</b>
|
||||
<br />
|
||||
<p>Stephan Porada<br />
|
||||
Bremer Straße 17a<br />
|
||||
33613 Bielefeld</p>
|
||||
<br />
|
||||
<b>Kontakt</b>
|
||||
<br />
|
||||
<p>E-Mail: sporada@uni-bielefeld.de</p>
|
||||
<br />
|
||||
<b>Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV</b>
|
||||
<br />
|
||||
<p>Stephan Porada<br />
|
||||
Bremer Straße 17a<br />
|
||||
33613 Bielefeld</p>
|
||||
<br />
|
||||
<b>Haftung für Inhalte</b>
|
||||
<br />
|
||||
<p>Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den
|
||||
allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht
|
||||
verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu
|
||||
forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
|
||||
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen
|
||||
Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der
|
||||
Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden
|
||||
Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.</p>
|
||||
<br />
|
||||
<p>Haftung für Links
|
||||
Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben.
|
||||
Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der
|
||||
verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten
|
||||
2 / 4Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte
|
||||
waren zum Zeitpunkt der Verlinkung nicht erkennbar.
|
||||
Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer
|
||||
Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links
|
||||
umgehend entfernen.</p>
|
||||
<br />
|
||||
<p>Quelle:
|
||||
eRecht24</p>
|
||||
<br />
|
||||
<b>Quelle der Bilder:</b>
|
||||
<p>
|
||||
Bild 4094966.jpg auf der Homepage und Infoseite: (c) Deutscher Bundestag / Marc-Steffen Unger <br />
|
||||
Bild 4116197.jpg auf der Homepage und Infoseite: (c) Deutscher Bundestag / Thomas Köhler/photothek.net <br />
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -28,7 +28,8 @@ SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
|
||||
DEBUG = True
|
||||
|
||||
# CHANGE the hosts according to your settings.
|
||||
ALLOWED_HOSTS = ["127.0.0.1", "localhost", "192.168.0.14"]
|
||||
ALLOWED_HOSTS = ["127.0.0.1", "localhost", "192.168.0.14",
|
||||
"bundesdata.sporada.eu"]
|
||||
|
||||
|
||||
# Application definition
|
||||
@ -84,10 +85,6 @@ WSGI_APPLICATION = 'bundesdata_app.wsgi.application'
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
|
||||
|
||||
# Change NAME, USER and PASSWORD details before deploying your own public
|
||||
# version of this app. Or use your onw secrets.json file. Explanation found can
|
||||
# be foudn here: https://stackoverflow.com/a/42077576
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||
|
@ -5,190 +5,187 @@ query. This creates the ngram viewer per speaker. -->
|
||||
|
||||
{% block nav-tabs %}
|
||||
<div class="nav-content">
|
||||
<ul class="tabs tabs-transparent">
|
||||
<li class="tab"><a target="_self" href="{% url "ngram-viewer-jahr" %}">Pro Jahr</a></li>
|
||||
<li class="tab"><a target="_self" class="active" href="{% url "ngram-viewer-sprecher" %}">Pro MdB</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="tabs tabs-transparent">
|
||||
<li class="tab"><a target="_self" href="{% url "ngram-viewer-jahr" %}">Pro Jahr</a></li>
|
||||
<li class="tab"><a target="_self" class="active" href="{% url "ngram-viewer-sprecher" %}">Pro MdB</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock nav-tabs %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col s12 m12 l4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">Suchoptionen</span>
|
||||
<div class="row">
|
||||
<form method="GET" class="col s12">
|
||||
{% csrf_token %}
|
||||
{% if errors %}
|
||||
|
||||
<p class="red-text text-darken-2">Es kann nur jeweils ein Ngramm gesucht werden.</p>
|
||||
|
||||
{% endif %}
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="id_query" type="text" name="{{form.query.html_name}}" class="autocomplete materialize-textarea validate" {% if form.query.value != None %}value = "{{form.query.value}}" {% else %}value = "Ausländer" {% endif %}}>
|
||||
<label for="id_query">{{form.query.label}}</label>
|
||||
<button class="btn waves-effect waves-light right light-green darken-3" type="submit" name="ngram-search">Suche
|
||||
<i class="material-icons right">send</i>
|
||||
</button>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
Korpus:{{form.corpus_choice}}
|
||||
<div class="section">
|
||||
<div class="switch section ">
|
||||
<span>Case-sensitive Suche:</span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.case_sensitive.html_name}}" class="filled-in" {% if form.case_sensitive.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="switch section">
|
||||
<span>Erweiterter Suchsyntax: <a class="tooltipped" data-position="bottom" data-tooltip="Ist diese Option aktiviert, kann die PostgreSQL interne regex-Syntax für die einzelnen Suchanfragen verwendet werden. Allerdings kann diese nur an Wortenden ('Asyl\w*') verwendet werden. Wörter können am Wortende mit '__' ('Krieg__') quasi escaped werden, so dass diese nicht als regulärer Ausdruck interpretiert werden."><i
|
||||
class="material-icons tiny blue-grey-text darken-4">info_outline</i></a></span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.search_plus.html_name}}" class="filled-in" {% if form.search_plus.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="section">
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix blue-grey-text darken-4">filter_9_plus</i>
|
||||
<input id="id_query" type="text" name="{{form.range.html_name}}" class="autocomplete materialize-textarea validate" {% if form.range.value != None %}value = "{{form.range.value}}" {% else %}value = "10" {% endif %}}>
|
||||
<label for="id_range">{{form.range.label}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col s12 m12 l4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">Suchoptionen</span>
|
||||
<div class="row">
|
||||
<form method="GET" class="col s12">
|
||||
{% if errors %}
|
||||
<p class="red-text text-darken-2">Es kann nur jeweils ein Ngramm gesucht werden.</p>
|
||||
{% endif %}
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="id_query" type="text" name="{{form.query.html_name}}" class="autocomplete materialize-textarea validate" {% if form.query.value != None %}value = "{{form.query.value}}" {% else %}value = "Ausländer" {% endif %}}>
|
||||
<label for="id_query">{{form.query.label}}</label>
|
||||
<button class="btn waves-effect waves-light right light-green darken-3" type="submit" name="ngram-search">Suche
|
||||
<i class="material-icons right">send</i>
|
||||
</button>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
Korpus:{{form.corpus_choice}}
|
||||
<div class="section">
|
||||
<div class="switch section ">
|
||||
<span>Case-sensitive Suche:</span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.case_sensitive.html_name}}" class="filled-in" {% if form.case_sensitive.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible white">
|
||||
<li class="active">
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">info_outline</i>Was ist das hier?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit diesem Tool können alle Protokolle von 1949 bis 2017
|
||||
nach einem Begriff durchsucht werden. Für diesen
|
||||
wird pro MdB dargestellt wie häufig dieses in seinen Reden
|
||||
und Redebeiträgen den gesuchten Begriff verwendet hat.
|
||||
</p>
|
||||
<p>Der Begriff kann eine Phrase mit der Länge von
|
||||
ein bis fünf Wörter sein.
|
||||
Eine weitere Suchanfrage wäre z.B. "Steuer erhöhen"</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">search</i>Muster der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Eine Suchanfrage ist ein einzelner Begriff bzw. einzelne Phrase.</p>
|
||||
<p>Die beispielhafte Suchanfrage "Ausländer"
|
||||
fragt somit die Häufigkeit des Begriffs ab.
|
||||
Es kann nur ein BEgriff gleichzeitig gesucht werden.</p>
|
||||
<p>Eine weitere Suchanfrage wäre z.B. "Steuerflucht"</p>
|
||||
<p>Es können nicht nur einzelne Wörter, sondern je nach Korpus
|
||||
Phrasen mit einer Länge von bis zu fünf Wörtern abgefragt werden.
|
||||
Eine beispielhafte Suchanfrage wäre z.B. "Steuer erhöhen".
|
||||
</p>
|
||||
<p>Möglich wird diese Art der Abfrage dadurch, das für alle Protokolle
|
||||
sogenannte N-Gramme berechnet wurden.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">short_text</i>Was sind N-Gramme?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für die Berechnung von N-Grammen wird ein Text in einzelne
|
||||
Fragmente zerlegt, die dann in ihrer Häufigkeit gezählt werden können.
|
||||
N gibt hierbei die Länge der einzelen Fragmente an.
|
||||
Ist z.B. der Satz "to be or not to be that is the question."
|
||||
gegeben, kann für diesen die dazugehörigen 1-Gramme berechnet werden.
|
||||
Diese wären dann: "to, be, or, not, to, be, that, is, the, question".
|
||||
Nun kann die Häufigkeit der einzelnen Wörter gezählt werden.
|
||||
Somit kommen die Wörter "to" und "be" zweimal vor und die restlichen
|
||||
Wörter jeweils einmal.</p>
|
||||
<p>Diese Art der Berechnung kann dann auch für 2-Gramme durchgführt
|
||||
werden. Der Satz würde dafür in folgende Fragemente zerlegt werden:
|
||||
"To be, be or, or not, not to, to be, be that, that is, is the, the question".
|
||||
Nun kann die Häufigkeit von zwei aufeinander folgenden Wörtern ermittelt werden.
|
||||
Die Phrase "to be" kommt innerhalb des Satzes somit zweimal
|
||||
und alle anderen nur einmal vor.</p>
|
||||
<p>Dieser Prozess kann weitere Male wiederholt werden z.B. für 3-, 4- oder 5-Gramme.</p>
|
||||
<p>Diese Art der Berechnung wurde für alle Protokolle der Bundestagssitzungen
|
||||
seit 1949 bis 2017 durchgeführt, um die Häufigkeiten verschiedener
|
||||
Begriffe bzw. Phrasen pro Jahr darstellen zu können.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">filter_2</i>Verschiedene Korpora</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit der Option "Korpus" kann zwischen zwei verschiedenen
|
||||
Korpora gewechselt werden, an die die Suchanfrage gestellt wird.</p>
|
||||
<p>Bei der Korpusauswahl "Lemmatisiert ohne Stoppwörter" werden
|
||||
N-Gramme abgefragt, die auf Grundlage der lemmatisierten Protokolle
|
||||
ohne Stopwörter berechnet wurden. Das bedeutet, dass alle Wörter der
|
||||
Protokolle auf ihre Grundform zurückgeführt und häufige
|
||||
Wörter wie "ist" oder "ein" entfernt wurden. Aus dem Satz
|
||||
"Guten Morgen, liebe Kolleginnen und Kollegen! Ich begrüße Sie alle herzlich."
|
||||
wird so die Zeichenfolge
|
||||
"Guten Morgen lieb Kollegin Kollege ich begrüßen ich herzlich"
|
||||
N-Gramme die für die beiden Sätze berechnet werden unterscheiden sich somit
|
||||
erheblich.</p>
|
||||
<p> Der Korpus "Nicht lemmatisiert mit Stoppwörtern" lässt den
|
||||
Satz unberührt.</p>
|
||||
<p>Beide Korpora eignen sich für verschiedene Suchanfragen.
|
||||
Möchte eher die Häufigkeit von zusammengefassten Begriffen ermittelt
|
||||
werden, kann der Korpus "Lemmatisiert ohne Stoppwörter" verwendet
|
||||
werden. <br />
|
||||
Werden jedoch eher ganze Phrasen wie "Kampf gegen den Terror"
|
||||
gesucht, sollte der Korpus "Nicht lemmatisiert mit Stoppwörtern"
|
||||
vewrwendet werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">close</i>Grenzen der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für den Korpus "Lemmatisiert ohne Stoppwörter" können 1-
|
||||
bis 5-Gramme abgefragt werden.</p>
|
||||
<p>Der Korpus "Nicht lemmatisiert mit Stoppwörtern" ist auf
|
||||
eine Abfrage von 1- bis 4-Grammen begrenzt.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">access_time</i>Suchgeschwindigkeit</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Die Suchanfragen für 1-Gramme ist sehr schnell.
|
||||
Werden komplexere 2-, 3-, 4- oder 5-Gramme abgefragt, ist mit
|
||||
einer Bearbeitungszeit von einigen Sekunden zu rechnen.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">poll</i>Interpretation der Daten</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Aus den Ergebnissen einer Suchanfrage sollten keine vorschnellen
|
||||
Kausalitäten abgeleitet werden. Die verschiedenen Häufigkeiten sollten
|
||||
immer im Kontext ihrer Zeit und politscher Ereignisse gesehen werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m12 l8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Graph</span>
|
||||
{{ bar_chart.as_html }}
|
||||
<div class="divider"></div>
|
||||
<div class="switch section">
|
||||
<span>Erweiterter Suchsyntax: <a class="tooltipped" data-position="bottom" data-tooltip="Ist diese Option aktiviert, kann die PostgreSQL interne regex-Syntax für die einzelnen Suchanfragen verwendet werden. Allerdings kann diese nur an Wortenden ('Asyl\w*') verwendet werden. Wörter können am Wortende mit '__' ('Krieg__') quasi escaped werden, so dass diese nicht als regulärer Ausdruck interpretiert werden."><i
|
||||
class="material-icons tiny blue-grey-text darken-4">info_outline</i></a></span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.search_plus.html_name}}" class="filled-in" {% if form.search_plus.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="section">
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix blue-grey-text darken-4">filter_9_plus</i>
|
||||
<input id="id_query" type="text" name="{{form.range.html_name}}" class="autocomplete materialize-textarea validate" {% if form.range.value != None %}value = "{{form.range.value}}" {% else %}value = "10" {% endif %}}>
|
||||
<label for="id_range">{{form.range.label}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible white">
|
||||
<li class="active">
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">info_outline</i>Was ist das hier?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit diesem Tool können alle Protokolle von 1949 bis 2017
|
||||
nach einem Begriff durchsucht werden. Für diesen
|
||||
wird pro MdB dargestellt wie häufig dieses in seinen Reden
|
||||
und Redebeiträgen den gesuchten Begriff verwendet hat.
|
||||
</p>
|
||||
<p>Der Begriff kann eine Phrase mit der Länge von
|
||||
ein bis fünf Wörter sein.
|
||||
Eine weitere Suchanfrage wäre z.B. "Steuer erhöhen"</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">search</i>Muster der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Eine Suchanfrage ist ein einzelner Begriff bzw. einzelne Phrase.</p>
|
||||
<p>Die beispielhafte Suchanfrage "Ausländer"
|
||||
fragt somit die Häufigkeit des Begriffs ab.
|
||||
Es kann nur ein BEgriff gleichzeitig gesucht werden.</p>
|
||||
<p>Eine weitere Suchanfrage wäre z.B. "Steuerflucht"</p>
|
||||
<p>Es können nicht nur einzelne Wörter, sondern je nach Korpus
|
||||
Phrasen mit einer Länge von bis zu fünf Wörtern abgefragt werden.
|
||||
Eine beispielhafte Suchanfrage wäre z.B. "Steuer erhöhen".
|
||||
</p>
|
||||
<p>Möglich wird diese Art der Abfrage dadurch, das für alle Protokolle
|
||||
sogenannte N-Gramme berechnet wurden.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">short_text</i>Was sind N-Gramme?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für die Berechnung von N-Grammen wird ein Text in einzelne
|
||||
Fragmente zerlegt, die dann in ihrer Häufigkeit gezählt werden können.
|
||||
N gibt hierbei die Länge der einzelen Fragmente an.
|
||||
Ist z.B. der Satz "to be or not to be that is the question."
|
||||
gegeben, kann für diesen die dazugehörigen 1-Gramme berechnet werden.
|
||||
Diese wären dann: "to, be, or, not, to, be, that, is, the, question".
|
||||
Nun kann die Häufigkeit der einzelnen Wörter gezählt werden.
|
||||
Somit kommen die Wörter "to" und "be" zweimal vor und die restlichen
|
||||
Wörter jeweils einmal.</p>
|
||||
<p>Diese Art der Berechnung kann dann auch für 2-Gramme durchgführt
|
||||
werden. Der Satz würde dafür in folgende Fragemente zerlegt werden:
|
||||
"To be, be or, or not, not to, to be, be that, that is, is the, the question".
|
||||
Nun kann die Häufigkeit von zwei aufeinander folgenden Wörtern ermittelt werden.
|
||||
Die Phrase "to be" kommt innerhalb des Satzes somit zweimal
|
||||
und alle anderen nur einmal vor.</p>
|
||||
<p>Dieser Prozess kann weitere Male wiederholt werden z.B. für 3-, 4- oder 5-Gramme.</p>
|
||||
<p>Diese Art der Berechnung wurde für alle Protokolle der Bundestagssitzungen
|
||||
seit 1949 bis 2017 durchgeführt, um die Häufigkeiten verschiedener
|
||||
Begriffe bzw. Phrasen pro Jahr darstellen zu können.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">filter_2</i>Verschiedene Korpora</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit der Option "Korpus" kann zwischen zwei verschiedenen
|
||||
Korpora gewechselt werden, an die die Suchanfrage gestellt wird.</p>
|
||||
<p>Bei der Korpusauswahl "Lemmatisiert ohne Stoppwörter" werden
|
||||
N-Gramme abgefragt, die auf Grundlage der lemmatisierten Protokolle
|
||||
ohne Stopwörter berechnet wurden. Das bedeutet, dass alle Wörter der
|
||||
Protokolle auf ihre Grundform zurückgeführt und häufige
|
||||
Wörter wie "ist" oder "ein" entfernt wurden. Aus dem Satz
|
||||
"Guten Morgen, liebe Kolleginnen und Kollegen! Ich begrüße Sie alle herzlich."
|
||||
wird so die Zeichenfolge
|
||||
"Guten Morgen lieb Kollegin Kollege ich begrüßen ich herzlich"
|
||||
N-Gramme die für die beiden Sätze berechnet werden unterscheiden sich somit
|
||||
erheblich.</p>
|
||||
<p> Der Korpus "Nicht lemmatisiert mit Stoppwörtern" lässt den
|
||||
Satz unberührt.</p>
|
||||
<p>Beide Korpora eignen sich für verschiedene Suchanfragen.
|
||||
Möchte eher die Häufigkeit von zusammengefassten Begriffen ermittelt
|
||||
werden, kann der Korpus "Lemmatisiert ohne Stoppwörter" verwendet
|
||||
werden. <br />
|
||||
Werden jedoch eher ganze Phrasen wie "Kampf gegen den Terror"
|
||||
gesucht, sollte der Korpus "Nicht lemmatisiert mit Stoppwörtern"
|
||||
vewrwendet werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">close</i>Grenzen der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für den Korpus "Lemmatisiert ohne Stoppwörter" können 1-
|
||||
bis 5-Gramme abgefragt werden.</p>
|
||||
<p>Der Korpus "Nicht lemmatisiert mit Stoppwörtern" ist auf
|
||||
eine Abfrage von 1- bis 4-Grammen begrenzt.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">access_time</i>Suchgeschwindigkeit</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Die Suchanfragen für 1-Gramme ist sehr schnell.
|
||||
Werden komplexere 2-, 3-, 4- oder 5-Gramme abgefragt, ist mit
|
||||
einer Bearbeitungszeit von einigen Sekunden zu rechnen.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">poll</i>Interpretation der Daten</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Aus den Ergebnissen einer Suchanfrage sollten keine vorschnellen
|
||||
Kausalitäten abgeleitet werden. Die verschiedenen Häufigkeiten sollten
|
||||
immer im Kontext ihrer Zeit und politscher Ereignisse gesehen werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m12 l8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Graph</span>
|
||||
{{ bar_chart.as_html }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -5,194 +5,193 @@ query. This creates the ngram viewer per year. -->
|
||||
|
||||
{% block nav-tabs %}
|
||||
<div class="nav-content">
|
||||
<ul class="tabs tabs-transparent">
|
||||
<li class="tab"><a target="_self" class="active" href="{% url "ngram-viewer-jahr" %}">Pro Jahr</a></li>
|
||||
<li class="tab"><a target="_self" href="{% url "ngram-viewer-sprecher" %}">Pro MdB</a></li>
|
||||
</ul>
|
||||
<ul class="tabs tabs-transparent">
|
||||
<li class="tab"><a target="_self" class="active" href="{% url "ngram-viewer-jahr" %}">Pro Jahr</a></li>
|
||||
<li class="tab"><a target="_self" href="{% url "ngram-viewer-sprecher" %}">Pro MdB</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock nav-tabs %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col s12 m12 l4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">Suchoptionen</span>
|
||||
<div class="row">
|
||||
<form method="GET" class="col s12">
|
||||
{% csrf_token %}
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="id_query" type="text" name="{{form.query.html_name}}" class="autocomplete materialize-textarea validate" {% if form.query.value != None %}value = "{{form.query.value}}" {% else %}value = "Kroatien, Krieg, Asyl" {% endif %}}>
|
||||
<label for="id_query">{{form.query.label}}</label>
|
||||
<button class="btn waves-effect waves-light right light-green darken-3" type="submit" name="ngram-search">Suche
|
||||
<i class="material-icons right">send</i>
|
||||
</button>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
Korpus:{{form.corpus_choice}}
|
||||
<div class="section">
|
||||
<div class="switch section ">
|
||||
<span>Case-sensitive Suche:</span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.case_sensitive.html_name}}" class="filled-in" {% if form.case_sensitive.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="switch section">
|
||||
<span>Erweiterter Suchsyntax: <a class="tooltipped" data-position="bottom" data-tooltip="Ist diese Option aktiviert, kann die PostgreSQL interne regex-Syntax für die einzelnen Suchanfragen verwendet werden. Allerdings kann diese nur an Wortenden ('Asyl\w*') verwendet werden. Wörter können am Wortende mit '__' ('Krieg__') quasi escaped werden, so dass diese nicht als regulärer Ausdruck interpretiert werden."><i
|
||||
class="material-icons tiny blue-grey-text darken-4">info_outline</i></a></span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.search_plus.html_name}}" class="filled-in" {% if form.search_plus.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="switch section">
|
||||
<span>Fehlende Daten ignorieren: <a class="tooltipped" data-position="bottom" data-tooltip="Ist diese Option aus, werden Jahre, die das gesuchte Ngramm nicht enthalten mit Nullwerten auf gefüllt. Wird diese Option aktiviert, werden Jahre, die das gesuchte Ngramm nicht enthalten ignoriert."><i
|
||||
class="material-icons tiny blue-grey-text darken-4">info_outline</i></a></span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.ignore_missing.html_name}}" class="filled-in" {% if form.ignore_missing.value == True %}checked="checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col s12 m12 l4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">Suchoptionen</span>
|
||||
<div class="row">
|
||||
<form method="GET" class="col s12">
|
||||
<div class="input-field col s12">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="id_query" type="text" name="{{form.query.html_name}}" class="autocomplete materialize-textarea validate" {% if form.query.value != None %}value = "{{form.query.value}}" {% else %}value = "Kroatien, Krieg, Asyl" {% endif %}}>
|
||||
<label for="id_query">{{form.query.label}}</label>
|
||||
<button class="btn waves-effect waves-light right light-green darken-3" type="submit" name="ngram-search">Suche
|
||||
<i class="material-icons right">send</i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible white">
|
||||
<li class="active">
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">info_outline</i>Was ist das hier?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit diesem Tool können alle Protokolle von 1949 bis 2017
|
||||
nach verschiedenen Begriffen durchsucht werden. Für jeden
|
||||
Begriff wird pro Jahr dargestellt wie häufig dieser von den
|
||||
Rednern und MdBs im deutschen Bundestag in deren
|
||||
Reden und Redebeiträge insgesamt verwendet wurde.</p>
|
||||
<p>Begriffe bzw. Phrasen können ein bis fünf Wörter lang sein.
|
||||
Eine weitere Suchanfrage wäre z.B. "Steuer erhöhen, Steuer senken, schwarze Null"</p>
|
||||
<br />
|
||||
<br />
|
||||
Korpus:{{form.corpus_choice}}
|
||||
<div class="section">
|
||||
<div class="switch section ">
|
||||
<span>Case-sensitive Suche:</span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.case_sensitive.html_name}}" class="filled-in" {% if form.case_sensitive.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">search</i>Muster der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Eine Suchanfrage ist eine durch Kommata getrennte
|
||||
Zeichenkette. Durch die Kommata werden verschiedene Begriffe
|
||||
voneinander getrennt und einzeln abgefragt.</p>
|
||||
<p>Die beispielhafte Suchanfrage "Kroatien, Krieg, Asyl"
|
||||
fragt somit die Häufigkeit der drei verschiedenen Wörter ab.
|
||||
Es können beliebig viele Begriffe aneinander gereit werden.</p>
|
||||
<p>Eine weitere Suchanfrage wäre z.B. "Kroatien, Krieg, Asyl,
|
||||
Syrien, Europa"</p>
|
||||
<p>Es können nicht nur einzelne Wörter, sondern je nach Korpus
|
||||
Phrasen mit einer Länge von bis zu fünf Wörtern abgefragt werden.
|
||||
Eine beispielhafte Suchanfrage wäre z.B. "Steuer erhöhen, Steuer senken, schwarze Null".
|
||||
Es können gleichzeitig Phrasen verschiedener Länge abgefragt werden.
|
||||
Ein Beispiel hierfür ist "Steuer erhöhen, Steuer senken, schwarze Null, Steuerbetrug".
|
||||
</p>
|
||||
<p>Möglich wird diese Art der Abfrage dadurch, das für alle Protokolle
|
||||
sogenannte N-Gramme berechnet wurden.</p>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="switch section">
|
||||
<span>Erweiterter Suchsyntax: <a class="tooltipped" data-position="bottom" data-tooltip="Ist diese Option aktiviert, kann die PostgreSQL interne regex-Syntax für die einzelnen Suchanfragen verwendet werden. Allerdings kann diese nur an Wortenden ('Asyl\w*') verwendet werden. Wörter können am Wortende mit '__' ('Krieg__') quasi escaped werden, so dass diese nicht als regulärer Ausdruck interpretiert werden."><i
|
||||
class="material-icons tiny blue-grey-text darken-4">info_outline</i></a></span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.search_plus.html_name}}" class="filled-in" {% if form.search_plus.value == True %}checked = "checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">short_text</i>Was sind N-Gramme?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für die Berechnung von N-Grammen wird ein Text in einzelne
|
||||
Fragmente zerlegt, die dann in ihrer Häufigkeit gezählt werden können.
|
||||
N gibt hierbei die Länge der einzelen Fragmente an.
|
||||
Ist z.B. der Satz "to be or not to be that is the question."
|
||||
gegeben, kann für diesen die dazugehörigen 1-Gramme berechnet werden.
|
||||
Diese wären dann: "to, be, or, not, to, be, that, is, the, question".
|
||||
Nun kann die Häufigkeit der einzelnen Wörter gezählt werden.
|
||||
Somit kommen die Wörter "to" und "be" zweimal vor und die restlichen
|
||||
Wörter jeweils einmal.</p>
|
||||
<p>Diese Art der Berechnung kann dann auch für 2-Gramme durchgführt
|
||||
werden. Der Satz würde dafür in folgende Fragemente zerlegt werden:
|
||||
"To be, be or, or not, not to, to be, be that, that is, is the, the question".
|
||||
Nun kann die Häufigkeit von zwei aufeinander folgenden Wörtern ermittelt werden.
|
||||
Die Phrase "to be" kommt innerhalb des Satzes somit zweimal
|
||||
und alle anderen nur einmal vor.</p>
|
||||
<p>Dieser Prozess kann weitere Male wiederholt werden z.B. für 3-, 4- oder 5-Gramme.</p>
|
||||
<p>Diese Art der Berechnung wurde für alle Protokolle der Bundestagssitzungen
|
||||
seit 1949 bis 2017 durchgeführt, um die Häufigkeiten verschiedener
|
||||
Begriffe bzw. Phrasen pro Jahr darstellen zu können.</p>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="switch section">
|
||||
<span>Fehlende Daten ignorieren: <a class="tooltipped" data-position="bottom" data-tooltip="Ist diese Option aus, werden Jahre, die das gesuchte Ngramm nicht enthalten mit Nullwerten auf gefüllt. Wird diese Option aktiviert, werden Jahre, die das gesuchte Ngramm nicht enthalten ignoriert."><i
|
||||
class="material-icons tiny blue-grey-text darken-4">info_outline</i></a></span>
|
||||
<div style="float: right;">
|
||||
Aus
|
||||
<label>
|
||||
<input type="checkbox" name="{{form.ignore_missing.html_name}}" class="filled-in" {% if form.ignore_missing.value == True %}checked="checked" {% endif %} />
|
||||
<span class="lever"></span>
|
||||
</label>
|
||||
Ein
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">filter_2</i>Verschiedene Korpora</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit der Option "Korpus" kann zwischen zwei verschiedenen
|
||||
Korpora gewechselt werden, an die die Suchanfrage gestellt wird.</p>
|
||||
<p>Bei der Korpusauswahl "Lemmatisiert ohne Stoppwörter" werden
|
||||
N-Gramme abgefragt, die auf Grundlage der lemmatisierten Protokolle
|
||||
ohne Stopwörter berechnet wurden. Das bedeutet, dass alle Wörter der
|
||||
Protokolle auf ihre Grundform zurückgeführt und häufige
|
||||
Wörter wie "ist" oder "ein" entfernt wurden. Aus dem Satz
|
||||
"Guten Morgen, liebe Kolleginnen und Kollegen! Ich begrüße Sie alle herzlich."
|
||||
wird so die Zeichenfolge
|
||||
"Guten Morgen lieb Kollegin Kollege ich begrüßen ich herzlich"
|
||||
N-Gramme die für die beiden Sätze berechnet werden unterscheiden sich somit
|
||||
erheblich.</p>
|
||||
<p> Der Korpus "Nicht lemmatisiert mit Stoppwörtern" lässt den
|
||||
Satz unberührt.</p>
|
||||
<p>Beide Korpora eignen sich für verschiedene Suchanfragen.
|
||||
Möchte eher die Häufigkeit von zusammengefassten Begriffen ermittelt
|
||||
werden, kann der Korpus "Lemmatisiert ohne Stoppwörter" verwendet
|
||||
werden. <br />
|
||||
Werden jedoch eher ganze Phrasen wie "Kampf gegen den Terror"
|
||||
gesucht, sollte der Korpus "Nicht lemmatisiert mit Stoppwörtern"
|
||||
vewrwendet werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">close</i>Grenzen der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für den Korpus "Lemmatisiert ohne Stoppwörter" können 1-
|
||||
bis 5-Gramme abgefragt werden.</p>
|
||||
<p>Der Korpus "Nicht lemmatisiert mit Stoppwörtern" ist auf
|
||||
eine Abfrage von 1- bis 4-Grammen begrenzt.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">access_time</i>Suchgeschwindigkeit</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Die Suchanfragen für mehrere 1-Gramme ist sehr schnell.
|
||||
Werden komplexere 2-, 3-, 4- oder 5-Gramme abgefragt, ist mit
|
||||
einer Bearbeitungszeit von einigen Sekunden zu rechnen.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">poll</i>Interpretation der Daten</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Aus den Ergebnissen einer Suchanfrage sollten keine vorschnellen
|
||||
Kausalitäten abgeleitet werden. Die verschiedenen Häufigkeiten sollten
|
||||
immer im Kontext ihrer Zeit und politscher Ereignisse gesehen werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m12 l8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Häufigkeit der gesuchten N-Gramme pro Jahr von 1949 bis 2017</span>
|
||||
{{ line_chart.as_html}}
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible white">
|
||||
<li class="active">
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">info_outline</i>Was ist das hier?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit diesem Tool können alle Protokolle von 1949 bis 2017
|
||||
nach verschiedenen Begriffen durchsucht werden. Für jeden
|
||||
Begriff wird pro Jahr dargestellt wie häufig dieser von den
|
||||
Rednern und MdBs im deutschen Bundestag in deren
|
||||
Reden und Redebeiträge insgesamt verwendet wurde.</p>
|
||||
<p>Begriffe bzw. Phrasen können ein bis fünf Wörter lang sein.
|
||||
Eine weitere Suchanfrage wäre z.B. "Steuer erhöhen, Steuer senken, schwarze Null"</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">search</i>Muster der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Eine Suchanfrage ist eine durch Kommata getrennte
|
||||
Zeichenkette. Durch die Kommata werden verschiedene Begriffe
|
||||
voneinander getrennt und einzeln abgefragt.</p>
|
||||
<p>Die beispielhafte Suchanfrage "Kroatien, Krieg, Asyl"
|
||||
fragt somit die Häufigkeit der drei verschiedenen Wörter ab.
|
||||
Es können beliebig viele Begriffe aneinander gereit werden.</p>
|
||||
<p>Eine weitere Suchanfrage wäre z.B. "Kroatien, Krieg, Asyl,
|
||||
Syrien, Europa"</p>
|
||||
<p>Es können nicht nur einzelne Wörter, sondern je nach Korpus
|
||||
Phrasen mit einer Länge von bis zu fünf Wörtern abgefragt werden.
|
||||
Eine beispielhafte Suchanfrage wäre z.B. "Steuer erhöhen, Steuer senken, schwarze Null".
|
||||
Es können gleichzeitig Phrasen verschiedener Länge abgefragt werden.
|
||||
Ein Beispiel hierfür ist "Steuer erhöhen, Steuer senken, schwarze Null, Steuerbetrug".
|
||||
</p>
|
||||
<p>Möglich wird diese Art der Abfrage dadurch, das für alle Protokolle
|
||||
sogenannte N-Gramme berechnet wurden.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">short_text</i>Was sind N-Gramme?</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für die Berechnung von N-Grammen wird ein Text in einzelne
|
||||
Fragmente zerlegt, die dann in ihrer Häufigkeit gezählt werden können.
|
||||
N gibt hierbei die Länge der einzelen Fragmente an.
|
||||
Ist z.B. der Satz "to be or not to be that is the question."
|
||||
gegeben, kann für diesen die dazugehörigen 1-Gramme berechnet werden.
|
||||
Diese wären dann: "to, be, or, not, to, be, that, is, the, question".
|
||||
Nun kann die Häufigkeit der einzelnen Wörter gezählt werden.
|
||||
Somit kommen die Wörter "to" und "be" zweimal vor und die restlichen
|
||||
Wörter jeweils einmal.</p>
|
||||
<p>Diese Art der Berechnung kann dann auch für 2-Gramme durchgführt
|
||||
werden. Der Satz würde dafür in folgende Fragemente zerlegt werden:
|
||||
"To be, be or, or not, not to, to be, be that, that is, is the, the question".
|
||||
Nun kann die Häufigkeit von zwei aufeinander folgenden Wörtern ermittelt werden.
|
||||
Die Phrase "to be" kommt innerhalb des Satzes somit zweimal
|
||||
und alle anderen nur einmal vor.</p>
|
||||
<p>Dieser Prozess kann weitere Male wiederholt werden z.B. für 3-, 4- oder 5-Gramme.</p>
|
||||
<p>Diese Art der Berechnung wurde für alle Protokolle der Bundestagssitzungen
|
||||
seit 1949 bis 2017 durchgeführt, um die Häufigkeiten verschiedener
|
||||
Begriffe bzw. Phrasen pro Jahr darstellen zu können.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">filter_2</i>Verschiedene Korpora</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Mit der Option "Korpus" kann zwischen zwei verschiedenen
|
||||
Korpora gewechselt werden, an die die Suchanfrage gestellt wird.</p>
|
||||
<p>Bei der Korpusauswahl "Lemmatisiert ohne Stoppwörter" werden
|
||||
N-Gramme abgefragt, die auf Grundlage der lemmatisierten Protokolle
|
||||
ohne Stopwörter berechnet wurden. Das bedeutet, dass alle Wörter der
|
||||
Protokolle auf ihre Grundform zurückgeführt und häufige
|
||||
Wörter wie "ist" oder "ein" entfernt wurden. Aus dem Satz
|
||||
"Guten Morgen, liebe Kolleginnen und Kollegen! Ich begrüße Sie alle herzlich."
|
||||
wird so die Zeichenfolge
|
||||
"Guten Morgen lieb Kollegin Kollege ich begrüßen ich herzlich"
|
||||
N-Gramme die für die beiden Sätze berechnet werden unterscheiden sich somit
|
||||
erheblich.</p>
|
||||
<p> Der Korpus "Nicht lemmatisiert mit Stoppwörtern" lässt den
|
||||
Satz unberührt.</p>
|
||||
<p>Beide Korpora eignen sich für verschiedene Suchanfragen.
|
||||
Möchte eher die Häufigkeit von zusammengefassten Begriffen ermittelt
|
||||
werden, kann der Korpus "Lemmatisiert ohne Stoppwörter" verwendet
|
||||
werden. <br />
|
||||
Werden jedoch eher ganze Phrasen wie "Kampf gegen den Terror"
|
||||
gesucht, sollte der Korpus "Nicht lemmatisiert mit Stoppwörtern"
|
||||
vewrwendet werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">close</i>Grenzen der Suchanfrage</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Für den Korpus "Lemmatisiert ohne Stoppwörter" können 1-
|
||||
bis 5-Gramme abgefragt werden.</p>
|
||||
<p>Der Korpus "Nicht lemmatisiert mit Stoppwörtern" ist auf
|
||||
eine Abfrage von 1- bis 4-Grammen begrenzt.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">access_time</i>Suchgeschwindigkeit</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Die Suchanfragen für mehrere 1-Gramme ist sehr schnell.
|
||||
Werden komplexere 2-, 3-, 4- oder 5-Gramme abgefragt, ist mit
|
||||
einer Bearbeitungszeit von einigen Sekunden zu rechnen.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons blue-grey-text darken-4">poll</i>Interpretation der Daten</div>
|
||||
<div class="collapsible-body">
|
||||
<p>Aus den Ergebnissen einer Suchanfrage sollten keine vorschnellen
|
||||
Kausalitäten abgeleitet werden. Die verschiedenen Häufigkeiten sollten
|
||||
immer im Kontext ihrer Zeit und politscher Ereignisse gesehen werden.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m12 l8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Häufigkeit der gesuchten N-Gramme pro Jahr von 1949 bis 2017</span>
|
||||
{{ line_chart.as_html}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -5,118 +5,118 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12 m4 l4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">
|
||||
{% if current_speaker.title %}
|
||||
{{current_speaker.title}}
|
||||
{% endif %}
|
||||
{% if current_speaker.nobility %}
|
||||
{{current_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{current_speaker.first_name}}
|
||||
{% if current_speaker.name_prefix %}
|
||||
{{current_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{current_speaker.last_name}}</span>
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">account_circle</i></p>
|
||||
<span class="card-title">Biographie</span>
|
||||
<ul>
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">cake</i> Geburtstag: {{current_speaker.birthday}}</li>
|
||||
<br />
|
||||
{% if current_speaker.day_of_death %}
|
||||
<li><b style="font-size: 2em;" class="blue-grey-text darken-4">†</b><span style="position: relative; right: -20px;"> Todesjahr:
|
||||
{{ current_speaker.day_of_death}}</span></li>
|
||||
<br />
|
||||
{% endif %}
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">home</i> Geburtsort: {{current_speaker.birthplace}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">work</i> Beruf: {{current_speaker.occupation}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">fingerprint</i> Bundestags ID: {{current_speaker.id}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">people</i> Partei: {{current_speaker.party}}<a class="tooltipped" data-position="bottom" data-tooltip="Aktuelle eingetragene Partei, bei der die Person Mitglied ist oder war. "><i
|
||||
class="material-icons blue-grey-text darken-4">info_outline</i></a></li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">filter_9_plus</i> Reden/Redebeiträge insgesamt: {{speech_count}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible expandable hoverable">
|
||||
{% if current_speaker.short_vita %}
|
||||
<li>
|
||||
<div class="collapsible-header">Kurzbiographie</div>
|
||||
<div class="collapsible-body white"><span>{{current_speaker.short_vita}}</span></div>
|
||||
</li>
|
||||
<div class="row">
|
||||
<div class="col s12 m4 l4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">
|
||||
{% if current_speaker.title %}
|
||||
{{current_speaker.title}}
|
||||
{% endif %}
|
||||
{% if current_speaker.nobility %}
|
||||
{{current_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{current_speaker.first_name}}
|
||||
{% if current_speaker.name_prefix %}
|
||||
{{current_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{current_speaker.last_name}}</span>
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">account_circle</i></p>
|
||||
<span class="card-title">Biographie</span>
|
||||
<ul>
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">cake</i> Geburtstag: {{current_speaker.birthday}}</li>
|
||||
<br />
|
||||
{% if current_speaker.day_of_death %}
|
||||
<li><b style="font-size: 2em;" class="blue-grey-text darken-4">†</b><span style="position: relative; right: -20px;"> Todesjahr:
|
||||
{{ current_speaker.day_of_death}}</span></li>
|
||||
<br />
|
||||
{% endif %}
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">home</i> Geburtsort: {{current_speaker.birthplace}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">work</i> Beruf: {{current_speaker.occupation}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">fingerprint</i> Bundestags ID: {{current_speaker.id}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">people</i> Partei: {{current_speaker.party}}<a class="tooltipped" data-position="bottom" data-tooltip="Aktuelle eingetragene Partei, bei der die Person Mitglied ist oder war. "><i
|
||||
class="material-icons blue-grey-text darken-4">info_outline</i></a></li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">filter_9_plus</i> Reden/Redebeiträge insgesamt: {{speech_count}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible expandable hoverable">
|
||||
{% if current_speaker.short_vita %}
|
||||
<li>
|
||||
<div class="collapsible-header">Kurzbiographie</div>
|
||||
<div class="collapsible-body white"><span>{{current_speaker.short_vita}}</span></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% for period in sorted_l_info %}
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">library_books</i> Wahlperiode {{period.legislative_period}}
|
||||
</div>
|
||||
<div class="collapsible-body white">
|
||||
<ul>
|
||||
<span class="card-title">Mitglied des Bundestags</span>
|
||||
<li>Mitglied von {{period.legislative_period_start_date|date:"d.m.Y"}} bis
|
||||
{% if period.legislative_period_end_date is None %}
|
||||
heute
|
||||
{% else %}
|
||||
{{period.legislative_period_end_date|date:"d.m.Y"}}
|
||||
{% endif %}
|
||||
</li>
|
||||
<br />
|
||||
<li>Mandatsart: {{period.mandate_type}}
|
||||
<li>
|
||||
<br />
|
||||
<span class="card-title">Institutions und Fraktionszugehörigkeit</span>
|
||||
{% for institution in sorted_i_info %}
|
||||
{% if institution.current_period == period.legislative_period %}
|
||||
<li><b>{{institution.institution}}</b>
|
||||
<li>
|
||||
<br />
|
||||
{% if institution.institution_start_date is not None %}
|
||||
<li>Von {{institution.institution_start_date|date:"d.m.Y"}} bis
|
||||
{% if institution.institution_end_date is None %}
|
||||
heute
|
||||
{% else %}
|
||||
{{institution.institution_end_date|date:"d.m.Y"}}
|
||||
{% endif %}
|
||||
<li>
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% for period in sorted_l_info %}
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">library_books</i> Wahlperiode {{period.legislative_period}}
|
||||
</div>
|
||||
<div class="collapsible-body white">
|
||||
<ul>
|
||||
<span class="card-title">Mitglied des Bundestags</span>
|
||||
<li>Mitglied von {{period.legislative_period_start_date|date:"d.m.Y"}} bis
|
||||
{% if period.legislative_period_end_date is None %}
|
||||
heute
|
||||
{% else %}
|
||||
{{period.legislative_period_end_date|date:"d.m.Y"}}
|
||||
{% endif %}
|
||||
</li>
|
||||
<br />
|
||||
<li>Mandatsart: {{period.mandate_type}}
|
||||
<li>
|
||||
<br />
|
||||
<span class="card-title">Institutions und Fraktionszugehörigkeit</span>
|
||||
{% for institution in sorted_i_info %}
|
||||
{% if institution.current_period == period.legislative_period %}
|
||||
<li><b>{{institution.institution}}</b>
|
||||
<li>
|
||||
<br />
|
||||
{% if institution.institution_start_date is not None %}
|
||||
<li>Von {{institution.institution_start_date|date:"d.m.Y"}} bis
|
||||
{% if institution.institution_end_date is None %}
|
||||
heute
|
||||
{% else %}
|
||||
{{institution.institution_end_date|date:"d.m.Y"}}
|
||||
{% endif %}
|
||||
<li>
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Reden</span>
|
||||
<div class="card-content">
|
||||
<p>Alle Reden, die von {% if current_speaker.title %}
|
||||
{{current_speaker.title}}
|
||||
{% endif %}
|
||||
{% if current_speaker.nobility %}
|
||||
{{current_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{current_speaker.first_name}}
|
||||
{% if current_speaker.name_prefix %}
|
||||
{{current_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{current_speaker.last_name}} als MdB gehalten wurden.
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table speech_table %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Reden</span>
|
||||
<div class="card-content">
|
||||
<p>Alle Reden, die von {% if current_speaker.title %}
|
||||
{{current_speaker.title}}
|
||||
{% endif %}
|
||||
{% if current_speaker.nobility %}
|
||||
{{current_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{current_speaker.first_name}}
|
||||
{% if current_speaker.name_prefix %}
|
||||
{{current_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{current_speaker.last_name}} als MdB gehalten wurden.
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table speech_table %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -6,32 +6,31 @@ Bundestag since 1949. -->
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Mitglieder des Bundestags</span>
|
||||
<p>Dies ist eine Liste aller Abgeordneten seit 1949 bis einschließlich der aktuellen Wahlperiode. Die Liste kann sortiert und durchsucht werden.</p>
|
||||
<p>Ausgangsdaten für diese Liste können auf der <a href="https://www.bundestag.de/service/opendata">offiziellen Seite des Bundestags</a> heruntergeladen werden.</p>
|
||||
<p>Für jede Person ist ein Profil angelegt, dass Informationen zu dieser bereithält und alle Reden bzw. Redebeiträge dieser gesammelt darstellt.</p>
|
||||
<br />
|
||||
<div class="row">
|
||||
<form method="GET" class="col l4 offset-l8 m6 offset-m6 s12">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
{{form}}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table table %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Mitglieder des Bundestags</span>
|
||||
<p>Dies ist eine Liste aller Abgeordneten seit 1949 bis einschließlich der aktuellen Wahlperiode. Die Liste kann sortiert und durchsucht werden.</p>
|
||||
<p>Ausgangsdaten für diese Liste können auf der <a href="https://www.bundestag.de/service/opendata">offiziellen Seite des Bundestags</a> heruntergeladen werden.</p>
|
||||
<p>Für jede Person ist ein Profil angelegt, dass Informationen zu dieser bereithält und alle Reden bzw. Redebeiträge dieser gesammelt darstellt.</p>
|
||||
<br />
|
||||
<div class="row">
|
||||
<form method="GET" class="col l4 offset-l8 m6 offset-m6 s12">
|
||||
<div class="row">
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
{{form}}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table table %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -5,95 +5,95 @@
|
||||
classes defined in tables.py. Mostly used to display search results. -->
|
||||
|
||||
{% block table-wrapper %}
|
||||
{% block table %}
|
||||
<table {% render_attrs table.attrs %} class="highlight">
|
||||
{% block table.thead %}
|
||||
{% if table.show_header %}
|
||||
<thead {{ table.attrs.thead.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<th {{ column.attrs.th.as_html }}>
|
||||
{% if column.orderable %}
|
||||
<a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}"><i class="material-icons ">sort</i> {{ column.header }}</a>
|
||||
{% else %}
|
||||
{{ column.header }}
|
||||
{% endif %}
|
||||
</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
{% endif %}
|
||||
{% endblock table.thead %}
|
||||
{% block table.tbody %}
|
||||
<tbody {{ table.attrs.tbody.as_html }}>
|
||||
{% for row in table.paginated_rows %}
|
||||
{% block table.tbody.row %}
|
||||
<tr {{ row.attrs.as_html }}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endblock table.tbody.row %}
|
||||
{% empty %}
|
||||
{% if table.empty_text %}
|
||||
{% block table.tbody.empty_text %}
|
||||
<tr><td colspan="{{ table.columns|length }}">{{ table.empty_text }}</td></tr>
|
||||
{% endblock table.tbody.empty_text %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
{% endblock table.tbody %}
|
||||
{% block table.tfoot %}
|
||||
{% if table.has_footer %}
|
||||
<tfoot {{ table.attrs.tfoot.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<td {{ column.attrs.tf.as_html }}>{{ column.footer }}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tfoot>
|
||||
{% endif %}
|
||||
{% endblock table.tfoot %}
|
||||
</table>
|
||||
{% endblock table %}
|
||||
{% block table %}
|
||||
<table {% render_attrs table.attrs %} class="highlight">
|
||||
{% block table.thead %}
|
||||
{% if table.show_header %}
|
||||
<thead {{ table.attrs.thead.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<th {{ column.attrs.th.as_html }}>
|
||||
{% if column.orderable %}
|
||||
<a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}"><i class="material-icons ">sort</i> {{ column.header }}</a>
|
||||
{% else %}
|
||||
{{ column.header }}
|
||||
{% endif %}
|
||||
</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
{% endif %}
|
||||
{% endblock table.thead %}
|
||||
{% block table.tbody %}
|
||||
<tbody {{ table.attrs.tbody.as_html }}>
|
||||
{% for row in table.paginated_rows %}
|
||||
{% block table.tbody.row %}
|
||||
<tr {{ row.attrs.as_html }}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endblock table.tbody.row %}
|
||||
{% empty %}
|
||||
{% if table.empty_text %}
|
||||
{% block table.tbody.empty_text %}
|
||||
<tr><td colspan="{{ table.columns|length }}">{{ table.empty_text }}</td></tr>
|
||||
{% endblock table.tbody.empty_text %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
{% endblock table.tbody %}
|
||||
{% block table.tfoot %}
|
||||
{% if table.has_footer %}
|
||||
<tfoot {{ table.attrs.tfoot.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<td {{ column.attrs.tf.as_html }}>{{ column.footer }}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tfoot>
|
||||
{% endif %}
|
||||
{% endblock table.tfoot %}
|
||||
</table>
|
||||
{% endblock table %}
|
||||
|
||||
{% block pagination %}
|
||||
{% if table.page and table.paginator.num_pages > 1 %}
|
||||
<ul class="pagination">
|
||||
{% if table.page.has_previous %}
|
||||
{% block pagination.previous %}
|
||||
<li class="previous waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_left</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.previous %}
|
||||
{% block pagination %}
|
||||
{% if table.page and table.paginator.num_pages > 1 %}
|
||||
<ul class="pagination">
|
||||
{% if table.page.has_previous %}
|
||||
{% block pagination.previous %}
|
||||
<li class="previous waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_left</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.previous %}
|
||||
{% endif %}
|
||||
{% if table.page.has_previous or table.page.has_next %}
|
||||
{% block pagination.range %}
|
||||
{% for p in table.page|table_page_range:table.paginator %}
|
||||
<li {% if p == table.page.number %}class="active light-green darken-3"{% endif %} class="waves-effect">
|
||||
{% if p == '...' %}
|
||||
<a href="#">{{ p }}</a>
|
||||
{% else %}
|
||||
<a href="{% querystring table.prefixed_page_field=p %}">
|
||||
{{ p }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if table.page.has_previous or table.page.has_next %}
|
||||
{% block pagination.range %}
|
||||
{% for p in table.page|table_page_range:table.paginator %}
|
||||
<li {% if p == table.page.number %}class="active light-green darken-3"{% endif %} class="waves-effect">
|
||||
{% if p == '...' %}
|
||||
<a href="#">{{ p }}</a>
|
||||
{% else %}
|
||||
<a href="{% querystring table.prefixed_page_field=p %}">
|
||||
{{ p }}
|
||||
</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endblock pagination.range %}
|
||||
{% endif %}
|
||||
{% if table.page.has_next %}
|
||||
{% block pagination.next %}
|
||||
<li class="next waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.next_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_right</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.next %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock pagination %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endblock pagination.range %}
|
||||
{% endif %}
|
||||
{% if table.page.has_next %}
|
||||
{% block pagination.next %}
|
||||
<li class="next waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.next_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_right</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.next %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock pagination %}
|
||||
{% endblock table-wrapper %}
|
||||
|
@ -5,83 +5,83 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12 m4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">
|
||||
Protokoll:<br />{{current_protocol.protocol_id}}</span>
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_drive_file</i></p>
|
||||
<span class="card-title">Metadaten</span>
|
||||
<ul>
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Wahlperiode: {{current_protocol.protocol_period}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Sitzungsnummer: {{current_protocol.session_nr}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Datum: {{current_protocol.session_date}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">access_time</i>Startuhrzeit der Sitzung: {{current_protocol.start_of_session}} Uhr</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">av_timer</i>Enduhrzeit der Sitzung: {{current_protocol.end_of_session}} Uhr</li>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible hoverable white">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">account_circle</i>MdBs dieser Rede</div>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
{% for speaker in speakers %}
|
||||
<li>
|
||||
<a href="/mdbs/mdb/{{speaker.id}}">{{speaker.id}}: {{speaker.last_name}}, {{speaker.first_name}}</a>
|
||||
</li>
|
||||
<br />
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">toc</i>Inhaltsverzeichnis</div>
|
||||
<div class="collapsible-body"><span>{{current_protocol.toc}}</span></div>
|
||||
</li>
|
||||
{% if current_protocol.attachment %}
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">folder</i>Anlagen</div>
|
||||
<div class="collapsible-body"><span>{{current_protocol.attachment}}</span></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
<div class="row">
|
||||
<div class="col s12 m4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">
|
||||
Protokoll:<br />{{current_protocol.protocol_id}}</span>
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_drive_file</i></p>
|
||||
<span class="card-title">Metadaten</span>
|
||||
<ul>
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Wahlperiode: {{current_protocol.protocol_period}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Sitzungsnummer: {{current_protocol.session_nr}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Datum: {{current_protocol.session_date}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">access_time</i>Startuhrzeit der Sitzung: {{current_protocol.start_of_session}} Uhr</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">av_timer</i>Enduhrzeit der Sitzung: {{current_protocol.end_of_session}} Uhr</li>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible hoverable white">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">account_circle</i>MdBs dieser Rede</div>
|
||||
<div class="collapsible-body">
|
||||
<ul>
|
||||
{% for speaker in speakers %}
|
||||
<li>
|
||||
<a href="/mdbs/mdb/{{speaker.id}}">{{speaker.id}}: {{speaker.last_name}}, {{speaker.first_name}}</a>
|
||||
</li>
|
||||
<br />
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Gesamtes Protokol</span>
|
||||
{% for speaker, speech, related_speech in speaker_speech_html %}
|
||||
{% autoescape off%}
|
||||
{% if speaker.id %}
|
||||
<h5><a href="/mdbs/mdb/{{speaker.id}}">{% if speaker.title %}
|
||||
{{speaker.title}}
|
||||
{% endif %}
|
||||
{% if speaker.nobility %}
|
||||
{{speaker.nobility}}
|
||||
{% endif %}
|
||||
{{speaker.first_name}}
|
||||
{% if speaker.name_prefix %}
|
||||
{{speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{speaker.last_name}}
|
||||
({{speaker.party}}):</a></h5>
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können beim zugehörigen Redeeintrag unter dem Punkt Original String gefunden werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
{% endif %}
|
||||
<h6><a href="/protokolle/rede/{{related_speech.speech_id}}">Rede ID: {{related_speech.speech_id}}</a></h6>
|
||||
{{speech}}
|
||||
{% endautoescape %}
|
||||
{% endfor%}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">toc</i>Inhaltsverzeichnis</div>
|
||||
<div class="collapsible-body"><span>{{current_protocol.toc}}</span></div>
|
||||
</li>
|
||||
{% if current_protocol.attachment %}
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">folder</i>Anlagen</div>
|
||||
<div class="collapsible-body"><span>{{current_protocol.attachment}}</span></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m8">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Gesamtes Protokol</span>
|
||||
{% for speaker, speech, related_speech in speaker_speech_html %}
|
||||
{% autoescape off%}
|
||||
{% if speaker.id %}
|
||||
<h5><a href="/mdbs/mdb/{{speaker.id}}">{% if speaker.title %}
|
||||
{{speaker.title}}
|
||||
{% endif %}
|
||||
{% if speaker.nobility %}
|
||||
{{speaker.nobility}}
|
||||
{% endif %}
|
||||
{{speaker.first_name}}
|
||||
{% if speaker.name_prefix %}
|
||||
{{speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{speaker.last_name}}
|
||||
({{speaker.party}}):</a></h5>
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können beim zugehörigen Redeeintrag unter dem Punkt Original String gefunden werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
{% endif %}
|
||||
<h6><a href="/protokolle/rede/{{related_speech.speech_id}}">Rede ID: {{related_speech.speech_id}}</a></h6>
|
||||
{{speech}}
|
||||
{% endautoescape %}
|
||||
{% endfor%}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -5,29 +5,28 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Alle Protokolle des Bundestag</span>
|
||||
<p>Liste aller Bundestagsplenarprotokolle von der ersten bis zur 18. Wahlperiode. Eine Volltextsuche ist zurzeit noch nicht implementiert.</p>
|
||||
<div class="row">
|
||||
<form method="GET" class="col l4 offset-l8 m6 offset-m6 s12">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
{{form}}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table table %}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Alle Protokolle des Bundestag</span>
|
||||
<p>Liste aller Bundestagsplenarprotokolle von der ersten bis zur 18. Wahlperiode. Eine Volltextsuche ist zurzeit noch nicht implementiert.</p>
|
||||
<div class="row">
|
||||
<form method="GET" class="col l4 offset-l8 m6 offset-m6 s12">
|
||||
<div class="row">
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
{{form}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table table %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -5,184 +5,184 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12 m4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">
|
||||
Rede:<br />{{current_speech.speech_id}}</span>
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_comment</i></p>
|
||||
<span class="card-title">Metadaten</span>
|
||||
<ul>
|
||||
<li><a href="/protokolle/protokoll/{{current_speech.foreign_protocol.protocol_id}}"><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">insert_drive_file</i>Aus Protokoll:
|
||||
{{current_speech.foreign_protocol.protocol_id}}</a></li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Datum: {{current_speech.foreign_protocol.session_date}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">access_time</i>Startuhrzeit der Sitzung: {{current_speech.foreign_protocol.start_of_session}} Uhr</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">av_timer</i>Enduhrzeit der Sitzung: {{current_speech.foreign_protocol.end_of_session}} Uhr</li>
|
||||
<br />
|
||||
{% if current_speech.foreign_speaker.id %}
|
||||
<a href="/mdbs/mdb/{{current_speech.foreign_speaker.id}}">
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">fingerprint</i>Redner ID: {{current_speech.foreign_speaker.id}}</li>
|
||||
</a>
|
||||
{%else%}
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">fingerprint</i>Redner ID: Nicht erkannt {{current_speech.foreign_speaker.id}}</li>
|
||||
{% endif %}
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">perm_identity</i>Rednertyp: {{current_speech.speaker_type}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">short_text</i>Original String: {{current_speech.original_string}}<a class="tooltipped" data-position="bottom" data-tooltip="Dies ist die Zeichenfolge, mit der der aktuelle Redner oder die aktuelle Rednerin im original Protokoll vor ihrem Redebeitrag genannt wurde. Passt dieser nicht zum Namen, der über der Rede steht, ist leider etwas bei der automatischen Erkennung schiefgegangen. Steht kein Name über der Rede, wurde der Redner nicht automatisch erkannt."><i
|
||||
class="material-icons blue-grey-text darken-4">info_outline</i></a></li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">record_voice_over</i>Unterbrechungen/Zurufe: {{interruptions}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">subject</i>Länge: {{words}} Wörter</li>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible hoverable">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">sort_by_alpha</i>Vokabular</div>
|
||||
<div class="collapsible-body white"><span><b>Vokabeln: {{unique_words}}</b><br /><ol>{{ vocabulary|safe }}</ol></span></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">toc</i>Inhaltsverzeichnis</div>
|
||||
<div class="collapsible-body white"><span>{{current_speech.foreign_protocol.toc}}</span></div>
|
||||
</li>
|
||||
{% if current_speech.foreign_protocol.attachment %}
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">folder</i>Anlagen</div>
|
||||
<div class="collapsible-body white"><span>{{current_speech.foreign_protocol.attachment}}</span></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m8">
|
||||
{% if previous_speech.speech_content %}
|
||||
<ul class="collapsible hoverable white">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="large material-icons blue-grey-text darken-4">insert_comment</i>Vorherige Rede als Kontext</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{% if previous_speech.foreign_speaker.id %}
|
||||
Rede von {% if previous_speech.foreign_speaker.title %}
|
||||
{{previous_speech.foreign_speaker.title}}
|
||||
{% endif %}
|
||||
{% if previous_speech.foreign_speaker.nobility %}
|
||||
{{previous_speech.foreign_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{previous_speech.foreign_speaker.first_name}}
|
||||
{% if previous_speech.foreign_speaker.name_prefix %}
|
||||
{{previous_speech.foreign_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{previous_speech.foreign_speaker.last_name}}
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können beim zugehörigen Redeeintrag unter dem Punkt Original String gefunden werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
{% endif %}
|
||||
</h5>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
<br />
|
||||
<ul class="blue-grey-text darken-4">
|
||||
{% if previous_speech.speaker_party_then == None %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{previous_speech.foreign_speaker.party}})</li>
|
||||
{% else %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{previous_speech.speaker_party_then}})</li>
|
||||
{% endif %}
|
||||
<li>Letzte offizielle eingetragene Parteizugehörigkeit: ({{previous_speech.foreign_speaker.party}})</li>
|
||||
</ul>
|
||||
<br />
|
||||
<span>{% autoescape off %}{{previous_speech_html}}{% endautoescape %}</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
{% if previous_speech %}
|
||||
<div class="center-align"><a href="/protokolle/rede/{{previous_speech.speech_id}}" class="waves-effect waves-light light-green darken-3 btn"><i class="material-icons left">arrow_upward</i>Zur Rede davor</a></div>
|
||||
<br />
|
||||
{% endif %}
|
||||
{% if current_speech.foreign_speaker.id%}
|
||||
<span class="card-title">Rede von {% if current_speech.foreign_speaker.title %}
|
||||
{{current_speech.foreign_speaker.title}}
|
||||
{% endif %}
|
||||
{% if current_speech.foreign_speaker.nobility %}
|
||||
{{current_speech.foreign_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{current_speech.foreign_speaker.first_name}}
|
||||
{% if current_speech.foreign_speaker.name_prefix %}
|
||||
{{current_speech.foreign_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{current_speech.foreign_speaker.last_name}}
|
||||
</span>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
<ul class="blue-grey-text darken-4">
|
||||
{% if current_speech.speaker_party_then == None %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{current_speech.foreign_speaker.party}})</li>
|
||||
{% else %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{current_speech.speaker_party_then}})</li>
|
||||
{% endif %}
|
||||
<li>Letzte offizielle eingetragene Parteizugehörigkeit: ({{current_speech.foreign_speaker.party}})</li>
|
||||
</ul>
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können links unter 'Original String' gelesen werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
{% endif %}
|
||||
{% autoescape off %}
|
||||
{{current_speech_html}}
|
||||
{% endautoescape %}
|
||||
{% if next_speech %}
|
||||
<div class="center-align"><br /><a href="/protokolle/rede/{{next_speech.speech_id}}" class="waves-effect waves-light light-green darken-3 btn"><i class="material-icons left">arrow_downward</i>Zur Rede danach</a></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% if next_speech.speech_content %}
|
||||
<ul class="collapsible hoverable white">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="large material-icons blue-grey-text darken-4">insert_comment</i>Nächste Rede als Kontext</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{% if next_speech.foreign_speaker.id %}
|
||||
Rede von {% if next_speech.foreign_speaker.title %}
|
||||
{{next_speech.foreign_speaker.title}}
|
||||
{% endif %}
|
||||
{% if next_speech.foreign_speaker.nobility %}
|
||||
{{next_speech.foreign_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{next_speech.foreign_speaker.first_name}}
|
||||
{% if next_speech.foreign_speaker.name_prefix %}
|
||||
{{next_speech.foreign_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{next_speech.foreign_speaker.last_name}}
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können beim zugehörigen Redeeintrag unter dem Punkt Original String gefunden werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
{% endif %}
|
||||
</h5>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
<br />
|
||||
<ul class="blue-grey-text darken-4">
|
||||
{% if previous_speech.speaker_party_then == None %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{next_speech.foreign_speaker.party}})</li>
|
||||
{% else %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{next_speech.speaker_party_then}})</li>
|
||||
{% endif %}
|
||||
<li>Letzte offizielle eingetragene Parteizugehörigkeit: ({{next_speech.foreign_speaker.party}})</li>
|
||||
</ul>
|
||||
<br />
|
||||
<span><span>{% autoescape off %}{{next_speech_html}}{% endautoescape %}</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="row">
|
||||
<div class="col s12 m4">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title center-align">
|
||||
Rede:<br />{{current_speech.speech_id}}</span>
|
||||
<p class="center-align"><i class="large material-icons blue-grey-text darken-4">insert_comment</i></p>
|
||||
<span class="card-title">Metadaten</span>
|
||||
<ul>
|
||||
<li><a href="/protokolle/protokoll/{{current_speech.foreign_protocol.protocol_id}}"><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">insert_drive_file</i>Aus Protokoll:
|
||||
{{current_speech.foreign_protocol.protocol_id}}</a></li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">date_range</i>Datum: {{current_speech.foreign_protocol.session_date}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">access_time</i>Startuhrzeit der Sitzung: {{current_speech.foreign_protocol.start_of_session}} Uhr</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">av_timer</i>Enduhrzeit der Sitzung: {{current_speech.foreign_protocol.end_of_session}} Uhr</li>
|
||||
<br />
|
||||
{% if current_speech.foreign_speaker.id %}
|
||||
<a href="/mdbs/mdb/{{current_speech.foreign_speaker.id}}">
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">fingerprint</i>Redner ID: {{current_speech.foreign_speaker.id}}</li>
|
||||
</a>
|
||||
{%else%}
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">fingerprint</i>Redner ID: Nicht erkannt {{current_speech.foreign_speaker.id}}</li>
|
||||
{% endif %}
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">perm_identity</i>Rednertyp: {{current_speech.speaker_type}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">short_text</i>Original String: {{current_speech.original_string}}<a class="tooltipped" data-position="bottom" data-tooltip="Dies ist die Zeichenfolge, mit der der aktuelle Redner oder die aktuelle Rednerin im original Protokoll vor ihrem Redebeitrag genannt wurde. Passt dieser nicht zum Namen, der über der Rede steht, ist leider etwas bei der automatischen Erkennung schiefgegangen. Steht kein Name über der Rede, wurde der Redner nicht automatisch erkannt."><i
|
||||
class="material-icons blue-grey-text darken-4">info_outline</i></a></li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">record_voice_over</i>Unterbrechungen/Zurufe: {{interruptions}}</li>
|
||||
<br />
|
||||
<li><i class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">subject</i>Länge: {{words}} Wörter</li>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="collapsible hoverable">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">sort_by_alpha</i>Vokabular</div>
|
||||
<div class="collapsible-body white"><span><b>Vokabeln: {{unique_words}}</b><br /><ol>{{ vocabulary|safe }}</ol></span></div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">toc</i>Inhaltsverzeichnis</div>
|
||||
<div class="collapsible-body white"><span>{{current_speech.foreign_protocol.toc}}</span></div>
|
||||
</li>
|
||||
{% if current_speech.foreign_protocol.attachment %}
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="material-icons left blue-grey-text darken-4">folder</i>Anlagen</div>
|
||||
<div class="collapsible-body white"><span>{{current_speech.foreign_protocol.attachment}}</span></div>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col s12 m8">
|
||||
{% if previous_speech.speech_content %}
|
||||
<ul class="collapsible hoverable white">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="large material-icons blue-grey-text darken-4">insert_comment</i>Vorherige Rede als Kontext</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{% if previous_speech.foreign_speaker.id %}
|
||||
Rede von {% if previous_speech.foreign_speaker.title %}
|
||||
{{previous_speech.foreign_speaker.title}}
|
||||
{% endif %}
|
||||
{% if previous_speech.foreign_speaker.nobility %}
|
||||
{{previous_speech.foreign_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{previous_speech.foreign_speaker.first_name}}
|
||||
{% if previous_speech.foreign_speaker.name_prefix %}
|
||||
{{previous_speech.foreign_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{previous_speech.foreign_speaker.last_name}}
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können beim zugehörigen Redeeintrag unter dem Punkt Original String gefunden werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
{% endif %}
|
||||
</h5>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
<br />
|
||||
<ul class="blue-grey-text darken-4">
|
||||
{% if previous_speech.speaker_party_then == None %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{previous_speech.foreign_speaker.party}})</li>
|
||||
{% else %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{previous_speech.speaker_party_then}})</li>
|
||||
{% endif %}
|
||||
<li>Letzte offizielle eingetragene Parteizugehörigkeit: ({{previous_speech.foreign_speaker.party}})</li>
|
||||
</ul>
|
||||
<br />
|
||||
<span>{% autoescape off %}{{previous_speech_html}}{% endautoescape %}</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
{% if previous_speech %}
|
||||
<div class="center-align"><a href="/protokolle/rede/{{previous_speech.speech_id}}" class="waves-effect waves-light light-green darken-3 btn"><i class="material-icons left">arrow_upward</i>Zur Rede davor</a></div>
|
||||
<br />
|
||||
{% endif %}
|
||||
{% if current_speech.foreign_speaker.id%}
|
||||
<span class="card-title">Rede von {% if current_speech.foreign_speaker.title %}
|
||||
{{current_speech.foreign_speaker.title}}
|
||||
{% endif %}
|
||||
{% if current_speech.foreign_speaker.nobility %}
|
||||
{{current_speech.foreign_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{current_speech.foreign_speaker.first_name}}
|
||||
{% if current_speech.foreign_speaker.name_prefix %}
|
||||
{{current_speech.foreign_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{current_speech.foreign_speaker.last_name}}
|
||||
</span>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
<ul class="blue-grey-text darken-4">
|
||||
{% if current_speech.speaker_party_then == None %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{current_speech.foreign_speaker.party}})</li>
|
||||
{% else %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{current_speech.speaker_party_then}})</li>
|
||||
{% endif %}
|
||||
<li>Letzte offizielle eingetragene Parteizugehörigkeit: ({{current_speech.foreign_speaker.party}})</li>
|
||||
</ul>
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können links unter 'Original String' gelesen werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
{% endif %}
|
||||
{% autoescape off %}
|
||||
{{current_speech_html}}
|
||||
{% endautoescape %}
|
||||
{% if next_speech %}
|
||||
<div class="center-align"><br /><a href="/protokolle/rede/{{next_speech.speech_id}}" class="waves-effect waves-light light-green darken-3 btn"><i class="material-icons left">arrow_downward</i>Zur Rede danach</a></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% if next_speech.speech_content %}
|
||||
<ul class="collapsible hoverable white">
|
||||
<li>
|
||||
<div class="collapsible-header"><i class="large material-icons blue-grey-text darken-4">insert_comment</i>Nächste Rede als Kontext</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{% if next_speech.foreign_speaker.id %}
|
||||
Rede von {% if next_speech.foreign_speaker.title %}
|
||||
{{next_speech.foreign_speaker.title}}
|
||||
{% endif %}
|
||||
{% if next_speech.foreign_speaker.nobility %}
|
||||
{{next_speech.foreign_speaker.nobility}}
|
||||
{% endif %}
|
||||
{{next_speech.foreign_speaker.first_name}}
|
||||
{% if next_speech.foreign_speaker.name_prefix %}
|
||||
{{next_speech.foreign_speaker.name_prefix}}
|
||||
{% endif %}
|
||||
{{next_speech.foreign_speaker.last_name}}
|
||||
{% else %}
|
||||
<span class="card-title">Rede von: Unbekannt<a class="tooltipped" data-position="bottom" data-tooltip="Dieses Mitglied des Bundestags konnte leider nicht automatisch erkannt werden. Grundlegende Infos zu Namen etc. können beim zugehörigen Redeeintrag unter dem Punkt Original String gefunden werden."><i
|
||||
class="material-icons blue-grey-text darken-4" style="margin-right: 10px;">info_outline</i></a></span>
|
||||
{% endif %}
|
||||
</h5>
|
||||
<hr class="blue-grey-text darken-4" />
|
||||
<br />
|
||||
<ul class="blue-grey-text darken-4">
|
||||
{% if previous_speech.speaker_party_then == None %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{next_speech.foreign_speaker.party}})</li>
|
||||
{% else %}
|
||||
<li>Parteizugehörigkeit zum Zeitpunkt der Rede:
|
||||
({{next_speech.speaker_party_then}})</li>
|
||||
{% endif %}
|
||||
<li>Letzte offizielle eingetragene Parteizugehörigkeit: ({{next_speech.foreign_speaker.party}})</li>
|
||||
</ul>
|
||||
<br />
|
||||
<span><span>{% autoescape off %}{{next_speech_html}}{% endautoescape %}</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -5,29 +5,28 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Reden und Redebeiträge aller Mitglieder des Bundestags seit 1949 bis 2017</span>
|
||||
<p>Hier ist eine liste aller Reden, die Mitglieder des Bundestags gehalten haben. Eine Volltextsuche ist zurzeit noch nicht implementiert.</p>
|
||||
<div class="row">
|
||||
<form method="GET" class="col l4 offset-l8 m6 offset-m6 s12">
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
{{form}}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table table %}
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<span class="card-title">Reden und Redebeiträge aller Mitglieder des Bundestags seit 1949 bis 2017</span>
|
||||
<p>Hier ist eine liste aller Reden, die Mitglieder des Bundestags gehalten haben. Eine Volltextsuche ist zurzeit noch nicht implementiert.</p>
|
||||
<div class="row">
|
||||
<form method="GET" class="col l4 offset-l8 m6 offset-m6 s12">
|
||||
<div class="row">
|
||||
<div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
{{form}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div style="overflow-x:auto;">
|
||||
{% render_table table %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
@ -5,95 +5,95 @@
|
||||
classes defined in tables.py. Mostly used to display search results. -->
|
||||
|
||||
{% block table-wrapper %}
|
||||
{% block table %}
|
||||
<table {% render_attrs table.attrs %} class="highlight">
|
||||
{% block table.thead %}
|
||||
{% if table.show_header %}
|
||||
<thead {{ table.attrs.thead.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<th {{ column.attrs.th.as_html }}>
|
||||
{% if column.orderable %}
|
||||
<a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}"><i class="material-icons ">sort</i> {{ column.header }}</a>
|
||||
{% else %}
|
||||
{{ column.header }}
|
||||
{% endif %}
|
||||
</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
{% endif %}
|
||||
{% endblock table.thead %}
|
||||
{% block table.tbody %}
|
||||
<tbody {{ table.attrs.tbody.as_html }}>
|
||||
{% for row in table.paginated_rows %}
|
||||
{% block table.tbody.row %}
|
||||
<tr {{ row.attrs.as_html }}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endblock table.tbody.row %}
|
||||
{% empty %}
|
||||
{% if table.empty_text %}
|
||||
{% block table.tbody.empty_text %}
|
||||
<tr><td colspan="{{ table.columns|length }}">{{ table.empty_text }}</td></tr>
|
||||
{% endblock table.tbody.empty_text %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
{% endblock table.tbody %}
|
||||
{% block table.tfoot %}
|
||||
{% if table.has_footer %}
|
||||
<tfoot {{ table.attrs.tfoot.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<td {{ column.attrs.tf.as_html }}>{{ column.footer }}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tfoot>
|
||||
{% endif %}
|
||||
{% endblock table.tfoot %}
|
||||
</table>
|
||||
{% endblock table %}
|
||||
{% block table %}
|
||||
<table {% render_attrs table.attrs %} class="highlight">
|
||||
{% block table.thead %}
|
||||
{% if table.show_header %}
|
||||
<thead {{ table.attrs.thead.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<th {{ column.attrs.th.as_html }}>
|
||||
{% if column.orderable %}
|
||||
<a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}"><i class="material-icons ">sort</i> {{ column.header }}</a>
|
||||
{% else %}
|
||||
{{ column.header }}
|
||||
{% endif %}
|
||||
</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
{% endif %}
|
||||
{% endblock table.thead %}
|
||||
{% block table.tbody %}
|
||||
<tbody {{ table.attrs.tbody.as_html }}>
|
||||
{% for row in table.paginated_rows %}
|
||||
{% block table.tbody.row %}
|
||||
<tr {{ row.attrs.as_html }}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endblock table.tbody.row %}
|
||||
{% empty %}
|
||||
{% if table.empty_text %}
|
||||
{% block table.tbody.empty_text %}
|
||||
<tr><td colspan="{{ table.columns|length }}">{{ table.empty_text }}</td></tr>
|
||||
{% endblock table.tbody.empty_text %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
{% endblock table.tbody %}
|
||||
{% block table.tfoot %}
|
||||
{% if table.has_footer %}
|
||||
<tfoot {{ table.attrs.tfoot.as_html }}>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
<td {{ column.attrs.tf.as_html }}>{{ column.footer }}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</tfoot>
|
||||
{% endif %}
|
||||
{% endblock table.tfoot %}
|
||||
</table>
|
||||
{% endblock table %}
|
||||
|
||||
{% block pagination %}
|
||||
{% if table.page and table.paginator.num_pages > 1 %}
|
||||
<ul class="pagination">
|
||||
{% if table.page.has_previous %}
|
||||
{% block pagination.previous %}
|
||||
<li class="previous waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_left</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.previous %}
|
||||
{% block pagination %}
|
||||
{% if table.page and table.paginator.num_pages > 1 %}
|
||||
<ul class="pagination">
|
||||
{% if table.page.has_previous %}
|
||||
{% block pagination.previous %}
|
||||
<li class="previous waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.previous_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_left</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.previous %}
|
||||
{% endif %}
|
||||
{% if table.page.has_previous or table.page.has_next %}
|
||||
{% block pagination.range %}
|
||||
{% for p in table.page|table_page_range:table.paginator %}
|
||||
<li {% if p == table.page.number %}class="active light-green darken-3"{% endif %} class="waves-effect">
|
||||
{% if p == '...' %}
|
||||
<a href="#">{{ p }}</a>
|
||||
{% else %}
|
||||
<a href="{% querystring table.prefixed_page_field=p %}">
|
||||
{{ p }}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if table.page.has_previous or table.page.has_next %}
|
||||
{% block pagination.range %}
|
||||
{% for p in table.page|table_page_range:table.paginator %}
|
||||
<li {% if p == table.page.number %}class="active light-green darken-3"{% endif %} class="waves-effect">
|
||||
{% if p == '...' %}
|
||||
<a href="#">{{ p }}</a>
|
||||
{% else %}
|
||||
<a href="{% querystring table.prefixed_page_field=p %}">
|
||||
{{ p }}
|
||||
</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endblock pagination.range %}
|
||||
{% endif %}
|
||||
{% if table.page.has_next %}
|
||||
{% block pagination.next %}
|
||||
<li class="next waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.next_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_right</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.next %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock pagination %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endblock pagination.range %}
|
||||
{% endif %}
|
||||
{% if table.page.has_next %}
|
||||
{% block pagination.next %}
|
||||
<li class="next waves-effect">
|
||||
<a href="{% querystring table.prefixed_page_field=table.page.next_page_number %}">
|
||||
{% trans '<i class="material-icons">chevron_right</i>' %}
|
||||
</a>
|
||||
</li>
|
||||
{% endblock pagination.next %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock pagination %}
|
||||
{% endblock table-wrapper %}
|
||||
|
Loading…
Reference in New Issue
Block a user