Skip to content

Commit

Permalink
Merge pull request #448 from impresso/develop
Browse files Browse the repository at this point in the history
Indian Summer Release
  • Loading branch information
danieleguido authored Sep 13, 2019
2 parents d89bccf + a559c58 commit d2a7bfa
Show file tree
Hide file tree
Showing 121 changed files with 5,850 additions and 1,748 deletions.
9 changes: 9 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ module.exports = {
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
"no-param-reassign": 0,
'no-console': ['warn',
{
allow: [
'info',
'warn',
'error'
]
}
]
// 'max-len': 5000
}
}
6 changes: 3 additions & 3 deletions build/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
}) + '\n\n')

if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
console.info(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}

console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
console.info(chalk.cyan(' Build complete.\n'))
console.info(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
Expand Down
10 changes: 5 additions & 5 deletions build/check-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ module.exports = function () {
}

if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
console.info('')
console.info(chalk.yellow('To use this template, you must update following to modules:'))
console.info()
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
console.info(' ' + warning)
}
console.log()
console.info()
process.exit(1)
}
}
4 changes: 2 additions & 2 deletions build/dev-server.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,15 @@ var server
var portfinder = require('portfinder')
portfinder.basePort = port

console.log('> Starting dev server...')
console.info('> Starting dev server...')
devMiddleware.waitUntilValid(() => {
portfinder.getPort((err, port) => {
if (err) {
_reject(err)
}
process.env.PORT = port
var uri = 'http://localhost:' + port
console.log('> Listening at ' + uri + '\n')
console.info('> Listening at ' + uri + '\n')
// when env is testing, don't need open it
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
opn(uri)
Expand Down
8 changes: 4 additions & 4 deletions build/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ exports.cssLoaders = function (options) {

const cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
// options: {
// minimize: process.env.NODE_ENV === 'production',
// sourceMap: options.sourceMap
// }
}

// generate loader string to be used with extract text plugin
Expand Down
22 changes: 13 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,32 @@
"dependencies": {
"@feathersjs/authentication-client": "^1.0.8",
"@feathersjs/socketio-client": "^1.1.5",
"axios": "^0.18.0",
"bootstrap": "^4.1.3",
"bootstrap-vue": "^2.0.0-rc.11",
"bootstrap": "^4.3.1",
"bootstrap-vue": "^2.0.0-rc.26",
"d3": "^5.7.0",
"debug": "^4.1.1",
"dragscroll": "0.0.8",
"filepond": "^4.4.9",
"filepond-plugin-file-validate-size": "^2.1.3",
"filepond-plugin-file-validate-type": "^1.2.4",
"flatpickr": "^4.5.2",
"markdown-it": "^8.4.2",
"markdown-it-decorate": "^1.2.2",
"openseadragon": "^2.4.0",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"svg-overlay": "github:openseadragon/svg-overlay",
"uuid": "^3.3.2",
"vue": "^2.5.19",
"vue-awesome": "^2.3.8",
"vue-click-outside": "^1.0.7",
"vue-filepond": "^5.1.1",
"vue-flatpickr-component": "^8.0.0",
"vue-i18n": "^8.4.0",
"vue-router": "^3.0.2",
"vuex": "^3.0.1",
"vuex-persistedstate": "^2.5.4",
"webfontloader": "^1.6.28"
"webfontloader": "^1.6.28",
"webpack": "^3.12.0"
},
"devDependencies": {
"@feathersjs/authentication": "^2.1.13",
Expand All @@ -58,7 +64,7 @@
"copy-webpack-plugin": "^4.6.0",
"cross-env": "^5.2.0",
"cross-spawn": "^5.0.1",
"css-loader": "^0.28.11",
"css-loader": "^3.0.0",
"dripicons": "^2.0.0",
"eslint": "^3.19.0",
"eslint-config-airbnb-base": "^11.3.0",
Expand All @@ -78,7 +84,7 @@
"http-proxy-middleware": "^0.18.0",
"impresso-theme": "git+https://[email protected]/impresso/impresso-theme.git",
"inject-loader": "^3.0.0",
"karma": "^3.1.3",
"karma": "^4.2.0",
"karma-coverage": "^1.1.2",
"karma-mocha": "^1.3.0",
"karma-phantomjs-launcher": "^1.0.2",
Expand All @@ -94,7 +100,6 @@
"nightwatch": "^1.0.14",
"node-sass": "^4.11.0",
"opn": "^5.4.0",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.4.0",
"phantomjs-prebuilt": "^2.1.14",
"portfinder": "^1.0.20",
Expand All @@ -110,8 +115,7 @@
"vue-loader": "^13.7.3",
"vue-style-loader": "^3.1.2",
"vue-template-compiler": "^2.5.19",
"webpack": "^3.12.0",
"webpack-bundle-analyzer": "^2.13.1",
"webpack-bundle-analyzer": "^3.3.2",
"webpack-dev-middleware": "^1.12.0",
"webpack-hot-middleware": "^2.24.3",
"webpack-merge": "^4.1.5"
Expand Down
20 changes: 19 additions & 1 deletion src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,23 @@
<div id="app-content">
<router-view />
</div>
<div id="app-monitor">
<monitor/>
</div>
</div>
</template>

<script>
import WebFontLoader from 'webfontloader';
import TheHeader from './components/TheHeader';
import Monitor from './components/Monitor';
export default {
name: 'app',
components: {
TheHeader,
Monitor,
},
created() {
// load typekit
Expand Down Expand Up @@ -50,8 +56,20 @@ html {
overflow-y: auto;
position: relative;
}
}
#app-monitor {
position: absolute;
z-index: 1041;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
}
select {
appearance: inherit;
}
span.number {
font-family: "questa-sans", sans-serif;
}
Expand Down
112 changes: 112 additions & 0 deletions src/assets/homepage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{
"splash": {
"title": "Media Monitoring of the Past",
"subtitle": "Search through 200 years of newspapers",
"text_bottom": "<a class=\"btn btn-primary btn-sm\" href=\"#\">Request full access to the corpus</a>"
},
"messages": [
{
"title": "Call for papers - Digitised newspapers - a new Eldorado for historians ?",
"body": "<p><i>What does it mean to work in new ways with the traditional historical sources that are newspapers?</i></p>",
"type": "warning",
"id": "call-for-papers-digitised-newspapers",
"buttons": [
{
"title": "Read Article",
"src": "https://impresso-project.ch/news/2019/06/12/WS5-CfP.html",
"target": "_blank",
"type": "primary"
},
{
"title": "Visit our blog",
"src": "https://impresso-project.ch/blog/",
"target": "_blank",
"type": "outline-primary"
}
]
}
],
"recipes": [
{
"caption": "Who is mentioned in the newspapers?",
"text": "Search for Robert Schumann",
"img_src": "https://media.giphy.com/media/IhVFxKbsZjDUWI2zpw/giphy.gif",
"query": "/app/#/search?f=%5B%7B\"type\"%3A\"hasTextContents\"%7D,%7B\"precision\"%3A\"exact\",\"type\"%3A\"string\",\"q\"%3A\"Robert%20Schumann\"%7D%5D&g=articles&p=1&o=-relevance",
"video": "https://vimeo.com/user79245600/review/347022479/e2f8f99532"
},
{
"caption": "Find concerts playing Robert Schumann",
"text": "Narrow down your query to the most relevant articles with topics",
"img_src": "https://media.giphy.com/media/gk9EkcWRb7qQMr7zk0/giphy.gif",
"query": "/app/#/search?f=%5B%7B%22type%22%3A%22hasTextContents%22%7D,%7B%22precision%22%3A%22exact%22,%22type%22%3A%22string%22,%22q%22%3A%22Robert%20Schumann%22%7D,%7B%22type%22%3A%22topic%22,%22q%22%3A%5B%22tmrero-fr-alpha_tp79_fr%22%5D,%22r%22%3A%5B0,1%5D,%22op%22%3A%22OR%22,%22context%22%3A%22include%22%7D%5D&g=articles&p=1&o=-relevance",
"video": "https://vimeo.com/user79245600/review/347022433/afa1c1acc9"
},
{
"caption": "Make a collection",
"text": "With collections you can compose your own currated lists of articles",
"img_src": "https://media.giphy.com/media/VJrqLAd4mdQWnmuFR7/giphy.gif",
"query": "/app/search?f=%5B%7B%22type%22%3A%22hasTextContents%22%7D,%7B%22precision%22%3A%22exact%22,%22type%22%3A%22string%22,%22q%22%3A%22Robert%20Schumann%22%7D%5D&g=articles&p=1&o=-relevance",
"video": "https://vimeo.com/user79245600/review/347022422/75ba364c06"
},
{
"caption": "Search for horoscopes",
"text": "Find horoscopes vs. articles about horoscopes",
"img_src": "https://media.giphy.com/media/RlHsYmDdVTs9NJ8Ddz/giphy.gif",
"query": "/app/#/search?f=%5B%7B%22type%22%3A%22hasTextContents%22%7D,%7B%22precision%22%3A%22exact%22,%22type%22%3A%22string%22,%22q%22%3A%22horoscope%22%7D%5D&g=articles&p=1&o=-relevance",
"video": "https://vimeo.com/user79245600/review/347022471/e20095b5b0"
}
],
"faq": {
"title": "FAQ",
"groups": [
{
"title": "The corpus",
"questions": [
{
"question": "Which newspapers do you have in your corpus?",
"answer": "In a nutshell, the impresso corpus contains the historical newspaper collections of the Swiss National Library, the National Library of Luxembourg, the Neue Zürcher Zeitung, Le Temps, the Valais State Archives and the Swiss Economic Archives. We recommend that you take a closer look at <u><a href=\"https://impresso-project.ch/app/#/newspapers/\">our overview of newspapers</a></u>."
},
{
"question": "Why can’t I see everything? How do I get access to the full corpus?",
"answer": "For legal reasons we can only show a subset of the newspapers. To gain access to the whole collection, you need to sign a Non-Disclosure-Agreement (NDA) which is available for download here. We will provide you with a user account once we received the signed NDA back from you."
},
{
"question": "Can I download everything? Do you have an API?",
"answer": "impresso users can download text and metadata for a maximum of 10.000 articles in form of a .csv file to allow - for example - further processing topic modeling on personally curated corpora. For advanced users we provide access via an API. If this is of interest to you, please contact us at <u><a href=\"mailto:[email protected]\">[email protected]</a></u>."
}
]
},
{
"title": "Computational processing of historical newspapers",
"questions": [
{
"question": "What is a Named Entity?",
"answer": "<p>Named entities are defined entities, that means identifiable persons, institutions, locations. The important criteria is here the name: to differentiate for instance a common noun such as [pope] from the mention of a particular named entity such as [Pope Francis].</p><p>The improved automated recognition of named entities in historical texts is one of impresso’s research objectives.</p>"
}
]
},
{
"title": "Errors and Feedback",
"questions": [
{
"question": "I have noticed mistakes in the texts and among the entities. Where do they come from?",
"answer": "We use state-of-the-art tools to improve the quality of the OCR and to identify persons, locations and institutions. Inevitably, they fail sometimes and make mistakes which we need to remain aware of. But we believe that despite these imperfections, the opportunities offered by the automated enrichment of historical texts by far outweighs these downsides."
},
{
"question": "I have a problem / I would like to report an error / I would like to give feedback",
"answer": "<p>The impresso interface remains under active development and we will add new features to the interface in the common months.</p><p>We always look forward to hearing from you and to learn how you made use of impresso’s tools. To leave us feedback, please click on the black envelope on the lower right of the interface. We will get back to you soon after.</p>"
}
]
},
{
"title": "About impresso",
"questions": [
{
"question": "Who is behind impresso?",
"answer": "<p>The impresso project is a Swiss-Luxembourgish research project dedicated to the computational enrichment of historical newspapers and the development of new workflows for (digital) historians.</p><p>The core team consists of computational linguists, designers/developers as well as historians based at the <a href=\"http://dhlab.epfl.ch\">DHLAB of the École polytechnique fédérale de Lausanne (EPFL)</a>, the <a href=\"https://www.cl.uzh.ch/de.html\">Institute of Computational Linguistics at the University of Zurich</a> and the <a href=\"http://c2dh.uni.lu\">Luxembourg Centre for Contemporary and Digital History (C2DH)</a>. The project is funded by the <a href=\"http://www.snf.ch/\">Swiss National Science foundation</a> (Grant CR- SII5_173719).</p><p>Take a look at <a href=\"http://impresso-project.ch\">our project homepage for more details</a>.</p>"
}
]
}
]
}
}
Binary file added src/assets/img/newspapers_bg_dark.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/img/newspapers_bg_dark_blue.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/img/newspapers_bg_light.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit d2a7bfa

Please sign in to comment.