Compare commits
117 Commits
2.5.0-beta
...
2.6.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a75f726111 | ||
|
|
d34c0c8652 | ||
|
|
c0bd7d0610 | ||
|
|
155a66b913 | ||
|
|
c7216ef0a6 | ||
|
|
c692a8d8f3 | ||
|
|
54e6bc3154 | ||
|
|
2e24d32cc2 | ||
|
|
1c7e31a464 | ||
|
|
94bf8338cd | ||
|
|
152f0bd727 | ||
|
|
6ffdc7b07d | ||
|
|
fe87566668 | ||
|
|
c36dd47afd | ||
|
|
b6a9b17410 | ||
|
|
c78fdf87b8 | ||
|
|
55a1ccc849 | ||
|
|
d97f42ff2d | ||
|
|
9ab52aeaf2 | ||
|
|
a0190143fe | ||
|
|
a48135a60d | ||
|
|
09eec3235d | ||
|
|
d21e5dfee4 | ||
|
|
899a8d746a | ||
|
|
9bbfc2de3f | ||
|
|
d82bb22341 | ||
|
|
0fd55c6635 | ||
|
|
4b346dd2e1 | ||
|
|
13a0516cce | ||
|
|
5fcd7ccb58 | ||
|
|
b0aef46c99 | ||
|
|
ec50530284 | ||
|
|
cbc4ebe7b3 | ||
|
|
f5339db646 | ||
|
|
c573e70e8b | ||
|
|
16b3049839 | ||
|
|
57ff8e9d22 | ||
|
|
5c6ea23e0f | ||
|
|
5a2aa7cd4b | ||
|
|
3df53b582a | ||
|
|
eb53fc472c | ||
|
|
c4e9178efb | ||
|
|
822f41bc40 | ||
|
|
1558c0a62f | ||
|
|
3977bb2a0b | ||
|
|
26df3a1d1d | ||
|
|
a77a860e0c | ||
|
|
78b637c83b | ||
|
|
b132178228 | ||
|
|
4021389a4d | ||
|
|
089be99287 | ||
|
|
b3dd6acfe6 | ||
|
|
ec3645a1c9 | ||
|
|
1c49873da1 | ||
|
|
8818bd90e0 | ||
|
|
4fb95799f8 | ||
|
|
2ee9084b91 | ||
|
|
3f3ef27d6b | ||
|
|
e01e59b72c | ||
|
|
0a97f04257 | ||
|
|
0b3888a8ae | ||
|
|
c6601e5bbf | ||
|
|
5f7c5d25de | ||
|
|
99d80df76c | ||
|
|
22beeabb9b | ||
|
|
8e1aad655a | ||
|
|
942447c62f | ||
|
|
d8a4da7ec8 | ||
|
|
56c50eacfe | ||
|
|
eec6f7d168 | ||
|
|
b45219a595 | ||
|
|
d7858f17a1 | ||
|
|
000a99c53e | ||
|
|
e592d26f8b | ||
|
|
015a60f998 | ||
|
|
caba43bb5b | ||
|
|
056425bd8a | ||
|
|
4aca62c042 | ||
|
|
b597c655cd | ||
|
|
9b276009e2 | ||
|
|
c1dac2e064 | ||
|
|
f707993188 | ||
|
|
ea612d9d53 | ||
|
|
b44e737448 | ||
|
|
bb429afd95 | ||
|
|
475a8f8a28 | ||
|
|
c7ba5ca894 | ||
|
|
3023f0a7cc | ||
|
|
ddaefbc952 | ||
|
|
0b3a0fb3ed | ||
|
|
7f40a430fd | ||
|
|
05f5d3b25c | ||
|
|
c3ca0b18b3 | ||
|
|
696e0b1fa7 | ||
|
|
201f7dbd3e | ||
|
|
0bfd3e906c | ||
|
|
71ac2bfc45 | ||
|
|
5370db7c5e | ||
|
|
bcc30e40ba | ||
|
|
2f70f654f7 | ||
|
|
b64115dcbd | ||
|
|
c9c71d8582 | ||
|
|
689bc19296 | ||
|
|
27498ab649 | ||
|
|
678a11f998 | ||
|
|
e9ef98716f | ||
|
|
b3ce43eaf7 | ||
|
|
72083b7e87 | ||
|
|
0cc94c2033 | ||
|
|
1d6296b400 | ||
|
|
7ad5da2a9e | ||
|
|
a7665a9994 | ||
|
|
a4cd3f26e8 | ||
|
|
fcdb33b64b | ||
|
|
7fd6119bcf | ||
|
|
b4d4b2473c | ||
|
|
91f715c3c3 |
18
.github/stale.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
- enhancement
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: wontfix
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
20
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
name: Java CI
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
java: ["8", "11", "17"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Java
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: ${{ matrix.java }}
|
||||
distribution: "temurin"
|
||||
- name: Build with Maven
|
||||
run: mvn --batch-mode --update-snapshots verify
|
||||
7
.gitignore
vendored
@@ -1,8 +1,12 @@
|
||||
# config gile
|
||||
# config file
|
||||
config.yml
|
||||
|
||||
# build directory
|
||||
target
|
||||
target-ide
|
||||
|
||||
# database files
|
||||
database
|
||||
|
||||
# log files
|
||||
log
|
||||
@@ -22,6 +26,7 @@ src/main/app/lib
|
||||
.classpath
|
||||
.settings
|
||||
.factorypath
|
||||
.checkstyle
|
||||
|
||||
# IntelliJ Idea files
|
||||
.idea
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
For information about .openshift directory, consult the documentation:
|
||||
|
||||
http://openshift.github.io/documentation/oo_user_guide.html#the-openshift-directory
|
||||
@@ -1,3 +0,0 @@
|
||||
For information about action hooks, consult the documentation:
|
||||
|
||||
http://openshift.github.io/documentation/oo_user_guide.html#action-hooks
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [ ! -d $OPENSHIFT_DATA_DIR/jdk1.8.0_20 ]
|
||||
then
|
||||
cd $OPENSHIFT_DATA_DIR
|
||||
wget http://www.java.net/download/jdk8u20/archive/b17/binaries/jdk-8u20-ea-bin-b17-linux-x64-04_jun_2014.tar.gz
|
||||
tar xvf *.tar.gz
|
||||
rm -f *.tar.gz
|
||||
fi
|
||||
if [ ! -d $OPENSHIFT_DATA_DIR/apache-maven-3.2.3 ]
|
||||
then
|
||||
cd $OPENSHIFT_DATA_DIR
|
||||
wget http://archive.apache.org/dist/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
|
||||
tar xvf *.tar.gz
|
||||
rm -f *.tar.gz
|
||||
fi
|
||||
export M2=$OPENSHIFT_DATA_DIR/apache-maven-3.2.3/bin
|
||||
export JAVA_HOME=$OPENSHIFT_DATA_DIR/jdk1.8.0_20
|
||||
export PATH=$JAVA_HOME/bin:$M2:$PATH
|
||||
|
||||
cd $OPENSHIFT_REPO_DIR
|
||||
rm -rf $OPENSHIFT_REPO_DIR/node
|
||||
rm -rf $OPENSHIFT_REPO_DIR/node_modules
|
||||
rm -rf $OPENSHIFT_TMP_DIR/npm
|
||||
rm -rf $OPENSHIFT_TMP_DIR/npmrc
|
||||
rm -rf $OPENSHIFT_TMP_DIR/m2
|
||||
rm -rf $OPENSHIFT_TMP_DIR/local
|
||||
|
||||
export NPM_CONFIG_PREFIX="$OPENSHIFT_TMP_DIR/npm"
|
||||
export NPM_CONFIG_USERCONFIG="$OPENSHIFT_TMP_DIR/npmrc"
|
||||
export NPM_CONFIG_CACHE="$OPENSHIFT_TMP_DIR/npm/cache"
|
||||
export MAVEN_OPTS="-Dmaven.repo.local=$OPENSHIFT_TMP_DIR/m2"
|
||||
export HOME="$OPENSHIFT_TMP_DIR/local"
|
||||
|
||||
export NPM_CONFIG_ARCH="x64"
|
||||
|
||||
mvn clean package -DskipTests -Dos.arch=x64 -s .openshift/settings.xml
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/bash
|
||||
cd $OPENSHIFT_REPO_DIR
|
||||
sed -i 's/@OPENSHIFT_DIY_IP@/'"$OPENSHIFT_DIY_IP"'/g' .openshift/config.mysql.yml
|
||||
sed -i 's/@OPENSHIFT_DIY_PORT@/'"$OPENSHIFT_DIY_PORT"'/g' .openshift/config.mysql.yml
|
||||
sed -i 's/@OPENSHIFT_APP_DNS@/'"$OPENSHIFT_APP_DNS"'/g' .openshift/config.mysql.yml
|
||||
sed -i 's/@OPENSHIFT_APP_NAME@/'"$OPENSHIFT_APP_NAME"'/g' .openshift/config.mysql.yml
|
||||
sed -i 's/@OPENSHIFT_MYSQL_DB_HOST@/'"$OPENSHIFT_MYSQL_DB_HOST"'/g' .openshift/config.mysql.yml
|
||||
sed -i 's/@OPENSHIFT_MYSQL_DB_USERNAME@/'"$OPENSHIFT_MYSQL_DB_USERNAME"'/g' .openshift/config.mysql.yml
|
||||
sed -i 's/@OPENSHIFT_MYSQL_DB_PASSWORD@/'"$OPENSHIFT_MYSQL_DB_PASSWORD"'/g' .openshift/config.mysql.yml
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
cd $OPENSHIFT_REPO_DIR
|
||||
export JAVA_HOME=$OPENSHIFT_DATA_DIR/jdk1.8.0_20
|
||||
nohup $JAVA_HOME/bin/java -jar target/commafeed.jar server .openshift/config.mysql.yml > ${OPENSHIFT_DIY_LOG_DIR}/commafeed.log 2>&1 &
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
source $OPENSHIFT_CARTRIDGE_SDK_BASH
|
||||
if [ -z "$(ps -ef | grep commafeed.jar | grep -v grep)" ]
|
||||
then
|
||||
client_result "Application is already stopped"
|
||||
else
|
||||
kill `ps -ef | grep commafeed.jar | grep -v grep | awk '{ print $2 }'` > /dev/null 2>&1
|
||||
fi
|
||||
0
.openshift/cron/daily/.gitignore
vendored
0
.openshift/cron/hourly/.gitignore
vendored
0
.openshift/cron/minutely/.gitignore
vendored
0
.openshift/cron/monthly/.gitignore
vendored
@@ -1,16 +0,0 @@
|
||||
Run scripts or jobs on a weekly basis
|
||||
=====================================
|
||||
Any scripts or jobs added to this directory will be run on a scheduled basis
|
||||
(weekly) using run-parts.
|
||||
|
||||
run-parts ignores any files that are hidden or dotfiles (.*) or backup
|
||||
files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} and handles
|
||||
the files named jobs.deny and jobs.allow specially.
|
||||
|
||||
In this specific example, the chronograph script is the only script or job file
|
||||
executed on a weekly basis (due to white-listing it in jobs.allow). And the
|
||||
README and chrono.dat file are ignored either as a result of being black-listed
|
||||
in jobs.deny or because they are NOT white-listed in the jobs.allow file.
|
||||
|
||||
For more details, please see ../README.cron file.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
Time And Relative D...n In Execution (Open)Shift!
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "`date`: `cat $(dirname \"$0\")/chrono.dat`"
|
||||
@@ -1,12 +0,0 @@
|
||||
#
|
||||
# Script or job files listed in here (one entry per line) will be
|
||||
# executed on a weekly-basis.
|
||||
#
|
||||
# Example: The chronograph script will be executed weekly but the README
|
||||
# and chrono.dat files in this directory will be ignored.
|
||||
#
|
||||
# The README file is actually ignored due to the entry in the
|
||||
# jobs.deny which is checked before jobs.allow (this file).
|
||||
#
|
||||
chronograph
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#
|
||||
# Any script or job files listed in here (one entry per line) will NOT be
|
||||
# executed (read as ignored by run-parts).
|
||||
#
|
||||
|
||||
README
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
For information about markers, consult the documentation:
|
||||
|
||||
http://openshift.github.io/documentation/oo_user_guide.html#markers
|
||||
@@ -1,41 +0,0 @@
|
||||
<settings>
|
||||
<mirrors>
|
||||
<mirror>
|
||||
<id>nexus</id>
|
||||
<mirrorOf>central</mirrorOf>
|
||||
<url>http://mirror1.ops.rhcloud.com/nexus/content/groups/public</url>
|
||||
</mirror>
|
||||
</mirrors>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>nexus</id>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>central</id>
|
||||
<url>http://central</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>central</id>
|
||||
<url>http://central</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
</profile>
|
||||
</profiles>
|
||||
<activeProfiles>
|
||||
<activeProfile>nexus</activeProfile>
|
||||
</activeProfiles>
|
||||
</settings>
|
||||
7
.prettierrc
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"printWidth": 140,
|
||||
"semi": false,
|
||||
"tabWidth": 4,
|
||||
"arrowParens": "avoid",
|
||||
"endOfLine": "auto"
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
language: java
|
||||
jdk:
|
||||
- oraclejdk8
|
||||
20
CHANGELOG
@@ -1,6 +1,24 @@
|
||||
v 2.6.0
|
||||
- add support for media content as a backup for missing content (useful for youtube feeds)
|
||||
- correctly follow http error code 308 redirects
|
||||
- fixed a bug that prevented users from deleting their account
|
||||
- fixed a bug that made commafeed store entry contents multiple times
|
||||
- fixed a bug that prevented the app to be used as an installed app on mobile devices if the context path of commafeed was not "/"
|
||||
- fixed a bug that prevented entries from being "marked as read older than xxx" for a feed that was just added
|
||||
- removed support for google+ and readability as those services no longer exist
|
||||
- removed support for deploying on openshift
|
||||
- removed alphabetical sorting of entries because of really poor performance (title cannot be indexed)
|
||||
- improve performance for instances with the heavy load setting enabled by preventing CommaFeed from fetching feeds from users that did not log in for a long time
|
||||
- various dependencies upgrades (notably dropwizard from 1.3 to 2.1)
|
||||
- add support for mariadb
|
||||
- add support for java17+ runtime
|
||||
- various security improvements
|
||||
v 2.5.0
|
||||
- unread count is now displayed in a favicon badge when supported
|
||||
|
||||
- the user agent string for the bot fetching feeds is now configurable
|
||||
- feed parsing performance improvements
|
||||
- support for java9+ runtime
|
||||
- can now properly start from an empty postgresql database
|
||||
v 2.4.0
|
||||
- users were not able to change password or delete account
|
||||
- fix api key generation
|
||||
|
||||
59
README.md
@@ -7,7 +7,6 @@ CommaFeed is now considered feature-complete and is in maintenance mode.
|
||||
|
||||
## Related open-source projects
|
||||
|
||||
|
||||
Android apps: [News+ extension](https://github.com/Athou/commafeed-newsplus)
|
||||
|
||||
Browser extensions: [Chrome](https://github.com/Athou/commafeed-chrome) - [Firefox](https://github.com/Athou/commafeed-firefox) - [Opera](https://github.com/Athou/commafeed-opera) - [Safari](https://github.com/Athou/commafeed-safari)
|
||||
@@ -17,10 +16,10 @@ Browser extensions: [Chrome](https://github.com/Athou/commafeed-chrome) - [Firef
|
||||
### The very short version (download precompiled package)
|
||||
|
||||
mkdir commafeed && cd commafeed
|
||||
wget https://github.com/Athou/commafeed/releases/download/2.4.0/commafeed.jar
|
||||
wget https://raw.githubusercontent.com/Athou/commafeed/2.4.0/config.yml.example -O config.yml
|
||||
wget https://github.com/Athou/commafeed/releases/download/2.6.0/commafeed.jar
|
||||
wget https://raw.githubusercontent.com/Athou/commafeed/2.6.0/config.yml.example -O config.yml
|
||||
vi config.yml
|
||||
java -Djava.net.preferIPv4Stack=true -jar commafeed.jar server config.yml
|
||||
java -Djava.net.preferIPv4Stack=true -jar commafeed.jar server config.yml
|
||||
|
||||
### The short version (build from sources)
|
||||
|
||||
@@ -29,58 +28,43 @@ Browser extensions: [Chrome](https://github.com/Athou/commafeed-chrome) - [Firef
|
||||
./mvnw clean package
|
||||
cp config.yml.example config.yml
|
||||
vi config.yml
|
||||
java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml
|
||||
java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml
|
||||
|
||||
### The long version (same as the short version, but more detailed)
|
||||
|
||||
CommaFeed 2.0 has been rewritten to use Dropwizard and gulp instead of using tomee and wro4j. The latest version of the 1.x branch is available [here](https://github.com/Athou/commafeed/tree/1.x).
|
||||
|
||||
For storage, you can either use an embedded H2 database (use it only to test CommaFeed) or an external MySQL, PostgreSQL or SQLServer database.
|
||||
You also need the Java 1.8+ JDK in order to build the application.
|
||||
For storage, you can either use an embedded file-based H2 database or an external MySQL, PostgreSQL or SQLServer database.
|
||||
You also need the Java 1.8+ JDK in order to build the application.
|
||||
|
||||
To install the required packages to build CommaFeed on Ubuntu, issue the following commands
|
||||
|
||||
# if openjdk-8-jdk is not available on your ubuntu version (14.04 LTS), add the following repo first
|
||||
sudo add-apt-repository ppa:openjdk-r/ppa
|
||||
sudo apt-get update
|
||||
# if openjdk-8-jdk is not available on your ubuntu version (14.04 LTS), add the following repo first
|
||||
sudo add-apt-repository ppa:openjdk-r/ppa
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install g++ build-essential openjdk-8-jdk
|
||||
|
||||
# Make sure java8 is the selected java version
|
||||
sudo update-alternatives --config java
|
||||
sudo update-alternatives --config javac
|
||||
|
||||
|
||||
|
||||
Clone this repository. If you don't have git you can download the sources as a zip file from [here](https://github.com/Athou/commafeed/archive/master.zip)
|
||||
|
||||
git clone https://github.com/Athou/commafeed.git
|
||||
cd commafeed
|
||||
|
||||
|
||||
Now build the application
|
||||
|
||||
./mvnw clean package
|
||||
|
||||
|
||||
Copy `config.yml.example` to `config.yml` then edit the file to your liking.
|
||||
Issue the following command to run the app, the server will listen by default on `http://localhost:8082`. The default user is `admin` and the default password is `admin`.
|
||||
|
||||
java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml
|
||||
java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml
|
||||
|
||||
You can use a proxy http server such as nginx or apache.
|
||||
|
||||
## Deployment on OpenShift
|
||||
|
||||
[OpenShift](https://openshift.redhat.com) is Red Hat's Platform-as-a-Service (PaaS) that allows developers to quickly develop, host, and scale applications in a cloud environment. CommaFeed runs perfectly on OpenShift and can even be used in the free tier. Follow the [Getting Started](https://developers.openshift.com/en/getting-started-overview.html) guide and after you sign up and install the Command Line Tools (RHC), do:
|
||||
|
||||
rhc create-app commafeed diy-0.1 mysql-5.5
|
||||
cd commafeed
|
||||
git remote add upstream -m master https://github.com/Athou/commafeed.git
|
||||
git pull -s recursive -X theirs upstream master
|
||||
git push
|
||||
|
||||
# To upgrade an existing openshift installation
|
||||
git pull upstream master
|
||||
git push
|
||||
|
||||
## Translate CommaFeed into your language
|
||||
|
||||
Files for internationalization are located [here](https://github.com/Athou/commafeed/tree/master/src/main/app/i18n).
|
||||
@@ -91,12 +75,11 @@ The language has to be referenced in the `src/main/app/js/i18n.js` file to be pi
|
||||
|
||||
## Themes
|
||||
|
||||
To create a theme, create a new file `src/main/app/sass/themes/_<theme>.scss`. Your styles should be wrapped in a `#theme-<theme>` element and use the [SCSS format](http://sass-lang.com/) which is a superset of CSS.
|
||||
To create a theme, create a new file `src/main/app/sass/themes/_<theme>.scss`. Your styles should be wrapped in a `#theme-<theme>` element and use the [SCSS format](http://sass-lang.com/) which is a superset of CSS.
|
||||
|
||||
Don't forget to reference your theme in `src/main/app/sass/app.scss` and in `src/main/app/js/controllers.js` (look for `$scope.themes`).
|
||||
|
||||
See [_test.scss](https://github.com/Athou/commafeed/blob/master/src/main/app/sass/themes/_test.scss) for an example.
|
||||
|
||||
See [\_test.scss](https://github.com/Athou/commafeed/blob/master/src/main/app/sass/themes/_test.scss) for an example.
|
||||
|
||||
## Local development
|
||||
|
||||
@@ -105,13 +88,13 @@ Steps to configuring a development environment for CommaFeed may include, but ma
|
||||
1. `git clone https://github.com/Athou/CommaFeed` into some folder to get the project files.
|
||||
2. Install Eclipse Luna (or latest) from http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr1 or your repo if available.
|
||||
3. In Eclipse, Window → Preferences → Maven → Annotation Processing. Check "Automatically configure JDT APT"
|
||||
* You may have to install the m2e-apt connector to have "Annotation Processing" as an option. Do so from Window → Preferences → Maven → Discovery → Open Catalog → type "m2e-apt" in the search box
|
||||
* If you have installed Eclipse EE instead of Luna, you may have trouble installing m2e-apt
|
||||
- You may have to install the m2e-apt connector to have "Annotation Processing" as an option. Do so from Window → Preferences → Maven → Discovery → Open Catalog → type "m2e-apt" in the search box
|
||||
- If you have installed Eclipse EE instead of Luna, you may have trouble installing m2e-apt
|
||||
4. Install Lombok into Eclipse from http://projectlombok.org/download.html
|
||||
* You may have to run `java -jar lombok.jar` as an administrator if your eclipse installation is not in your home folder
|
||||
- You may have to run `java -jar lombok.jar` as an administrator if your eclipse installation is not in your home folder
|
||||
5. In Eclipse, File → Import → Maven → Existing Maven Projects. Navigate to where you cloned the CommaFeed files into, and select that as the root directory. Click Finish.
|
||||
* You may notice some errors along the lines of "Plugin execution not covered by lifecycle configuration". These are inconsequential.
|
||||
6. Find the file "CommaFeedApplication.java" under the navigation pane.
|
||||
- You may notice some errors along the lines of "Plugin execution not covered by lifecycle configuration". These are inconsequential.
|
||||
6. Find the file "CommaFeedApplication.java" under the navigation pane.
|
||||
7. Right click it to bring up the context menu → Debug as... → Debug Configurations
|
||||
8. Type `server config.dev.yml` under "Program arguments" in the "Arguments" tab for the Java Application setting "CommaFeedApplication"
|
||||
9. Apply and hit "Debug"
|
||||
@@ -130,7 +113,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this work except in compliance with the License.
|
||||
You may obtain a copy of the License in the LICENSE file, or at:
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
6
SECURITY.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Security Policy
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
If you found a vulnerability that you deem too sensitive to disclose publicly in a Github issue, please send an email at jeremiepanzer at gmail dot com.
|
||||
Thanks !
|
||||
71
bower.json
@@ -1,38 +1,37 @@
|
||||
{
|
||||
"name": "commafeed",
|
||||
"version": "2.0.0",
|
||||
"dependencies": {
|
||||
"jquery": "2.1.3",
|
||||
"jquery-ui": "1.10.3",
|
||||
"jquery-mousewheel": "3.1.12",
|
||||
"lodash": "3.4.0",
|
||||
"bootstrap": "3.3.2",
|
||||
"font-awesome": "3.2.1",
|
||||
"angular": "1.3.14",
|
||||
"angular-resource": "1.3.14",
|
||||
"angular-route": "1.3.14",
|
||||
"angular-sanitize": "1.3.14",
|
||||
"angular-touch": "1.3.14",
|
||||
"angular-animate": "1.3.14",
|
||||
"angular-ui-router": "0.2.13",
|
||||
"angular-ui-utils": "0.1.0",
|
||||
"angular-ui-select2": "0.0.5",
|
||||
"angular-bootstrap": "0.2.0",
|
||||
"angular-loading-bar": "0.6.0",
|
||||
"angular-translate": "2.6.1",
|
||||
"angular-translate-loader-static-files": "2.6.1",
|
||||
"ngInfiniteScroll": "1.0.0",
|
||||
"ng-grid": "2.0.6",
|
||||
"mousetrap": "1.4.6",
|
||||
"momentjs": "2.9.0",
|
||||
"devicejs": "0.2.4",
|
||||
"readabilicons": "arc90/readability-readabilicons#34c55561c5b8ec6e90714b50237c06b13cb9d59c",
|
||||
"zocial-less": "1.0.0",
|
||||
"swagger-ui": "2.1.0",
|
||||
"tinycon": "0.6.5"
|
||||
},
|
||||
"resolutions": {
|
||||
"angular": "1.3.14",
|
||||
"angular-translate": "2.6.1"
|
||||
}
|
||||
"name": "commafeed",
|
||||
"version": "2.0.0",
|
||||
"dependencies": {
|
||||
"jquery": "2.1.3",
|
||||
"jquery-ui": "1.10.3",
|
||||
"jquery-mousewheel": "3.1.12",
|
||||
"lodash": "3.4.0",
|
||||
"bootstrap": "3.3.2",
|
||||
"font-awesome": "3.2.1",
|
||||
"angular": "1.3.14",
|
||||
"angular-resource": "1.3.14",
|
||||
"angular-route": "1.3.14",
|
||||
"angular-sanitize": "1.3.14",
|
||||
"angular-touch": "1.3.14",
|
||||
"angular-animate": "1.3.14",
|
||||
"angular-ui-router": "0.2.13",
|
||||
"angular-ui-utils": "0.1.0",
|
||||
"angular-ui-select2": "0.0.5",
|
||||
"angular-bootstrap": "0.2.0",
|
||||
"angular-loading-bar": "0.6.0",
|
||||
"angular-translate": "2.6.1",
|
||||
"angular-translate-loader-static-files": "2.6.1",
|
||||
"ngInfiniteScroll": "1.0.0",
|
||||
"ng-grid": "2.0.6",
|
||||
"mousetrap": "1.4.6",
|
||||
"momentjs": "2.9.0",
|
||||
"devicejs": "0.2.4",
|
||||
"zocial-less": "1.0.0",
|
||||
"swagger-ui": "2.1.0",
|
||||
"tinycon": "0.6.5"
|
||||
},
|
||||
"resolutions": {
|
||||
"angular": "1.3.14",
|
||||
"angular-translate": "2.6.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,9 @@ app:
|
||||
# announcement string displayed on the main page
|
||||
announcement:
|
||||
|
||||
# user-agent string that will be used by the http client, leave empty for the default one
|
||||
userAgent:
|
||||
|
||||
# Database connection
|
||||
# -------------------
|
||||
# for MySQL
|
||||
|
||||
@@ -4,7 +4,7 @@ app:
|
||||
# url used to access commafeed
|
||||
publicUrl: http://localhost:8082/
|
||||
|
||||
# wether to allow user registrations
|
||||
# whether to allow user registrations
|
||||
allowRegistrations: false
|
||||
|
||||
# create a demo account the first time the app starts
|
||||
@@ -68,6 +68,9 @@ app:
|
||||
# announcement string displayed on the main page
|
||||
announcement:
|
||||
|
||||
# user-agent string that will be used by the http client, leave empty for the default one
|
||||
userAgent:
|
||||
|
||||
# Database connection
|
||||
# -------------------
|
||||
# for MySQL
|
||||
@@ -84,7 +87,7 @@ app:
|
||||
|
||||
database:
|
||||
driverClass: org.h2.Driver
|
||||
url: jdbc:h2:/home/commafeed/db;mv_store=false
|
||||
url: jdbc:h2:/home/commafeed/db
|
||||
user: sa
|
||||
password: sa
|
||||
properties:
|
||||
@@ -108,6 +111,7 @@ logging:
|
||||
com.commafeed: INFO
|
||||
liquibase: INFO
|
||||
io.dropwizard.server.ServerFactory: INFO
|
||||
org.hibernate.orm.deprecation: "OFF"
|
||||
appenders:
|
||||
- type: console
|
||||
- type: file
|
||||
@@ -128,4 +132,4 @@ redis:
|
||||
timeout: 2000
|
||||
database: 0
|
||||
maxTotal: 500
|
||||
|
||||
|
||||
|
||||
@@ -1,49 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<profiles version="12">
|
||||
<profile kind="CodeFormatterProfile" name="Eclipse [built-in] 140 chars" version="12">
|
||||
<profiles version="18">
|
||||
<profile kind="CodeFormatterProfile" name="CommaFeed" version="18">
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="48"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="48"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
|
||||
@@ -52,10 +62,14 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
|
||||
@@ -64,9 +78,12 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="140"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
|
||||
@@ -75,18 +92,28 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
|
||||
@@ -94,80 +121,99 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="80"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
|
||||
@@ -183,8 +229,9 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="48"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
|
||||
@@ -194,8 +241,11 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
|
||||
@@ -216,18 +266,21 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||
@@ -235,48 +288,62 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.8"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
|
||||
@@ -284,9 +351,12 @@
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="140"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
|
||||
|
||||
@@ -1,267 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<profiles version="11">
|
||||
<profile kind="CodeFormatterProfile" name="Eclipse [built-in] 140 chars" version="11">
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_case" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_empty_lines" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_compact_if" value="52"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.format_header" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.format_block_comments" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_object_initializer" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_between_type_declarations" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_assignment" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.tabulation.size" value="4"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_default" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.align_type_members_on_columns" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.continuation_indentation_for_objlit_initializer" value="1"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.compiler.compliance" value="1.5"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_closing_brace_in_objlit_initializer" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.format_source_code" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.wrap_before_binary_operator" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_after_package" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_comma_in_objlit_initializer" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.format_javadoc_comments" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indentation.size" value="4"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_objlit_initializer" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.compiler.source" value="1.5"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.continuation_indentation" value="2"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_conditional_expression" value="48"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.indent_parameter_description" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_after_imports" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="64"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.indent_root_tags" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_before_package" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_before_member_type" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_enum_constants" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_before_imports" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_binary_expression" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.lineSplit" value="140"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.format_html" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_before_method" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_superclass_in_type_declaration" value="64"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.compiler.codegen.targetPlatform" value="1.5"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.keep_empty_objlit_initializer_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_statements_compare_to_block" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.format_line_comments" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="64"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.compiler.problem.assertIdentifier" value="error"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_object_initializer" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.line_length" value="80"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_block" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_multiple_fields" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.indent_statements_compare_to_body" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_before_new_chunk" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.tabulation.char" value="tab"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.put_empty_statement_on_new_line" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_between_import_groups" value="1"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_before_field" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_opening_brace_in_objlit_initializer" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.compact_else_if" value="true"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
|
||||
<setting id="org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
119
dev/checkstyle.xml
Normal file
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module PUBLIC
|
||||
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
|
||||
"https://checkstyle.org/dtds/configuration_1_3.dtd">
|
||||
|
||||
<module name="Checker">
|
||||
<property name="charset" value="UTF-8" />
|
||||
<property name="fileExtensions" value="java" />
|
||||
|
||||
<module name="TreeWalker">
|
||||
<property name="tabWidth" value="4" />
|
||||
|
||||
<!-- Checks for Naming Conventions. -->
|
||||
<!-- See http://checkstyle.sf.net/config_naming.html -->
|
||||
<module name="CatchParameterName">
|
||||
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
|
||||
</module>
|
||||
<module name="ConstantName">
|
||||
<property name="format" value="^log|[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$" />
|
||||
</module>
|
||||
<module name="ClassTypeParameterName" />
|
||||
<module name="InterfaceTypeParameterName" />
|
||||
<module name="LambdaParameterName" />
|
||||
<module name="LocalFinalVariableName" />
|
||||
<module name="LocalVariableName" />
|
||||
<module name="MemberName" />
|
||||
<module name="MethodName" />
|
||||
<module name="MethodTypeParameterName" />
|
||||
<module name="PackageName">
|
||||
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
|
||||
</module>
|
||||
<module name="ParameterName" />
|
||||
<module name="StaticVariableName" />
|
||||
<module name="TypeName" />
|
||||
|
||||
<!-- Checks for imports -->
|
||||
<!-- See http://checkstyle.sf.net/config_import.html -->
|
||||
<module name="AvoidStarImport" />
|
||||
<module name="AvoidStaticImport" />
|
||||
<module name="IllegalImport" />
|
||||
<module name="ImportOrder">
|
||||
<property name="groups" value="/^java\./,javax,org,com" />
|
||||
<property name="ordered" value="true" />
|
||||
<property name="separated" value="true" />
|
||||
</module>
|
||||
<module name="RedundantImport" />
|
||||
<module name="UnusedImports" />
|
||||
|
||||
<!-- Modifier Checks -->
|
||||
<!-- See http://checkstyle.sf.net/config_modifier.html -->
|
||||
<module name="ModifierOrder" />
|
||||
<module name="RedundantModifier">
|
||||
<property name="tokens" value="METHOD_DEF, VARIABLE_DEF, ANNOTATION_FIELD_DEF, INTERFACE_DEF, CLASS_DEF, ENUM_DEF, RESOURCE" />
|
||||
</module>
|
||||
|
||||
<!-- Checks for blocks. You know, those {}'s -->
|
||||
<!-- See http://checkstyle.sf.net/config_blocks.html -->
|
||||
<module name="EmptyCatchBlock">
|
||||
<property name="exceptionVariableName" value="ignore|ignored" />
|
||||
<message key="catch.block.empty"
|
||||
value="Empty catch block. You can use the name 'ignore' or 'ignored' for the exception variable if you really want an empty catch block, but you should strongly consider at the very least logging something." />
|
||||
</module>
|
||||
<module name="LeftCurly" />
|
||||
<module name="NeedBraces" />
|
||||
<module name="RightCurly" />
|
||||
|
||||
<!-- Checks for common coding problems -->
|
||||
<!-- See http://checkstyle.sf.net/config_coding.html -->
|
||||
<module name="DeclarationOrder" />
|
||||
<module name="DefaultComesLast" />
|
||||
<module name="EmptyStatement" />
|
||||
<module name="EqualsHashCode" />
|
||||
<module name="ExplicitInitialization" />
|
||||
<module name="FallThrough" />
|
||||
<module name="IllegalInstantiation">
|
||||
<property name="classes"
|
||||
value="java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.Double, java.lang.Float, java.lang.Integer, java.lang.Long, java.lang.Short" />
|
||||
</module>
|
||||
<module name="IllegalType" />
|
||||
<module name="ModifiedControlVariable">
|
||||
<property name="skipEnhancedForLoopVariable" value="true" />
|
||||
</module>
|
||||
<module name="MissingSwitchDefault" />
|
||||
<module name="MultipleVariableDeclarations" />
|
||||
<module name="NoFinalizer" />
|
||||
<module name="OneStatementPerLine" />
|
||||
<module name="OverloadMethodsDeclarationOrder" />
|
||||
<module name="PackageDeclaration" />
|
||||
<module name="SimplifyBooleanExpression" />
|
||||
<module name="SimplifyBooleanReturn" />
|
||||
<module name="StringLiteralEquality" />
|
||||
<module name="UnnecessaryParentheses" />
|
||||
|
||||
<!-- Checks for class design -->
|
||||
<!-- See http://checkstyle.sf.net/config_design.html -->
|
||||
<module name="InnerTypeLast" />
|
||||
<module name="OneTopLevelClass" />
|
||||
|
||||
<!-- Miscellaneous other checks. -->
|
||||
<!-- See http://checkstyle.sf.net/config_misc.html -->
|
||||
<module name="ArrayTypeStyle" />
|
||||
<module name="OuterTypeFilename" />
|
||||
<module name="UpperEll" />
|
||||
|
||||
<!-- Whitespace checks. -->
|
||||
<!-- See http://checkstyle.sourceforge.net/config_whitespace.html -->
|
||||
<module name="MethodParamPad" />
|
||||
<module name="NoLineWrap" />
|
||||
<module name="NoWhitespaceBefore" />
|
||||
<module name="ParenPad" />
|
||||
<module name="RegexpSinglelineJava">
|
||||
<property name="format" value="^\t* +\t*\S" />
|
||||
<property name="message" value="Line has leading space characters; indentation should be performed with tabs only." />
|
||||
<property name="ignoreComments" value="true" />
|
||||
</module>
|
||||
<module name="WhitespaceAround" />
|
||||
|
||||
</module>
|
||||
</module>
|
||||
19
docker-compose.dev.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
version: "3.1"
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mariadb
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
- MYSQL_DATABASE=commafeed
|
||||
ports:
|
||||
- 3306:3306
|
||||
|
||||
postgresql:
|
||||
image: postgres
|
||||
environment:
|
||||
POSTGRES_USER: root
|
||||
POSTGRES_PASSWORD: root
|
||||
POSTGRES_DB: commafeed
|
||||
ports:
|
||||
- 5432:5432
|
||||
@@ -4,7 +4,7 @@
|
||||
"main": "main.js",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"bower": "1.4.1",
|
||||
"bower": "1.8.8",
|
||||
"gulp": "3.8.11",
|
||||
"gulp-rev": "4.0.0",
|
||||
"gulp-rev-replace": "0.4.1",
|
||||
|
||||
340
pom.xml
@@ -4,24 +4,29 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.commafeed</groupId>
|
||||
<artifactId>commafeed</artifactId>
|
||||
<version>2.5.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<version>2.6.0</version>
|
||||
<name>CommaFeed</name>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<dropwizard.version>0.9.1</dropwizard.version>
|
||||
<guice.version>4.0</guice.version>
|
||||
<querydsl.version>4.0.2</querydsl.version>
|
||||
<rome.version>1.5.0</rome.version>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<guice.version>5.1.0</guice.version>
|
||||
<querydsl.version>4.2.1</querydsl.version>
|
||||
<rome.version>1.18.0</rome.version>
|
||||
</properties>
|
||||
|
||||
<scm>
|
||||
<connection>scm:git:https://github.com/Athou/commafeed.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/Athou/commafeed.git</developerConnection>
|
||||
<url>https://github.com/Athou/commafeed</url>
|
||||
</scm>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard</groupId>
|
||||
<artifactId>dropwizard-dependencies</artifactId>
|
||||
<version>2.1.1</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<finalName>commafeed</finalName>
|
||||
@@ -32,47 +37,29 @@
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.eclipse.m2e</groupId>
|
||||
<artifactId>lifecycle-mapping</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<configuration>
|
||||
<lifecycleMappingMetadata>
|
||||
<pluginExecutions>
|
||||
<pluginExecution>
|
||||
<pluginExecutionFilter>
|
||||
<groupId>com.github.eirslett</groupId>
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
<versionRange>[0.0.22,)</versionRange>
|
||||
<goals>
|
||||
<goal>npm</goal>
|
||||
<goal>gulp</goal>
|
||||
<goal>bower</goal>
|
||||
</goals>
|
||||
</pluginExecutionFilter>
|
||||
<action>
|
||||
<execute>
|
||||
<runOnIncremental>false</runOnIncremental>
|
||||
</execute>
|
||||
</action>
|
||||
</pluginExecution>
|
||||
</pluginExecutions>
|
||||
</lifecycleMappingMetadata>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.1</version>
|
||||
<configuration>
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
</configuration>
|
||||
<version>3.10.1</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.22.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>2.22.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>pl.project13.maven</groupId>
|
||||
@@ -94,7 +81,14 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>2.3</version>
|
||||
<version>3.2.4</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.kordamp.shade</groupId>
|
||||
<artifactId>maven-shade-ext-transformers</artifactId>
|
||||
<version>1.4.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<filters>
|
||||
@@ -120,6 +114,12 @@
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<mainClass>com.commafeed.CommaFeedApplication</mainClass>
|
||||
</transformer>
|
||||
<transformer implementation="org.kordamp.shade.resources.PropertiesFileTransformer">
|
||||
<paths>
|
||||
<path>rome.properties</path>
|
||||
</paths>
|
||||
<mergeStrategy>append</mergeStrategy>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
@@ -128,11 +128,16 @@
|
||||
<plugin>
|
||||
<groupId>com.github.kongchen</groupId>
|
||||
<artifactId>swagger-maven-plugin</artifactId>
|
||||
<version>3.1.1</version>
|
||||
<version>3.1.7</version>
|
||||
<?m2e ignore?>
|
||||
<configuration>
|
||||
<apiSources>
|
||||
<apiSource>
|
||||
<locations>com.commafeed.frontend.resource;com.commafeed.frontend.model;com.commafeed.frontend.model.request</locations>
|
||||
<locations>
|
||||
<location>com.commafeed.frontend.resource</location>
|
||||
<location>com.commafeed.frontend.model</location>
|
||||
<location>com.commafeed.frontend.model.request</location>
|
||||
</locations>
|
||||
<swaggerDirectory>target/swagger</swaggerDirectory>
|
||||
<basePath>/rest</basePath>
|
||||
<info>
|
||||
@@ -158,6 +163,7 @@
|
||||
<groupId>com.github.eirslett</groupId>
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
<version>1.6</version>
|
||||
<?m2e ignore?>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>install node and npm</id>
|
||||
@@ -202,7 +208,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<version>3.2.2</version>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifest>
|
||||
@@ -211,20 +217,87 @@
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||
<version>3.1.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>validate</id>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<consoleOutput>true</consoleOutput>
|
||||
<failsOnError>true</failsOnError>
|
||||
<linkXRef>false</linkXRef>
|
||||
<sourceDirectories>
|
||||
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
|
||||
</sourceDirectories>
|
||||
<testSourceDirectories>
|
||||
<testSourceDirectory>${project.build.testSourceDirectory}</testSourceDirectory>
|
||||
</testSourceDirectories>
|
||||
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
||||
<configLocation>dev/checkstyle.xml</configLocation>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.diffplug.spotless</groupId>
|
||||
<artifactId>spotless-maven-plugin</artifactId>
|
||||
<version>1.27.0</version>
|
||||
<?m2e ignore?>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<lineEndings>WINDOWS</lineEndings>
|
||||
<java>
|
||||
<eclipse>
|
||||
<file>${project.basedir}/dev/EclipseCodeFormatter.xml</file>
|
||||
</eclipse>
|
||||
</java>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>only-eclipse</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>m2e.version</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<directory>target-ide</directory>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.16.4</version>
|
||||
<version>1.18.22</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.12</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -232,63 +305,55 @@
|
||||
<artifactId>guice</artifactId>
|
||||
<version>${guice.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.inject.extensions</groupId>
|
||||
<artifactId>guice-multibindings</artifactId>
|
||||
<version>${guice.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.dropwizard</groupId>
|
||||
<artifactId>dropwizard-core</artifactId>
|
||||
<version>${dropwizard.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.glassfish.hk2.external</groupId>
|
||||
<artifactId>aopalliance-repackaged</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.glassfish.hk2.external</groupId>
|
||||
<artifactId>javax.inject</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard</groupId>
|
||||
<artifactId>dropwizard-hibernate</artifactId>
|
||||
<version>${dropwizard.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard</groupId>
|
||||
<artifactId>dropwizard-migrations</artifactId>
|
||||
<version>${dropwizard.version}</version>
|
||||
<groupId>org.liquibase</groupId>
|
||||
<artifactId>liquibase-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard</groupId>
|
||||
<artifactId>dropwizard-assets</artifactId>
|
||||
<version>${dropwizard.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard</groupId>
|
||||
<artifactId>dropwizard-forms</artifactId>
|
||||
<version>${dropwizard.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.glassfish.hk2.external</groupId>
|
||||
<artifactId>javax.inject</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard.metrics</groupId>
|
||||
<artifactId>metrics-graphite</artifactId>
|
||||
<version>3.1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard.metrics</groupId>
|
||||
<artifactId>metrics-graphite</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard.metrics</groupId>
|
||||
<artifactId>metrics-json</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard.modules</groupId>
|
||||
<artifactId>dropwizard-web</artifactId>
|
||||
<version>1.5.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
<artifactId>jaxb-api</artifactId>
|
||||
<version>2.3.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.module</groupId>
|
||||
<artifactId>jackson-module-afterburner</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.5</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
@@ -300,7 +365,7 @@
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
<version>1.5.0</version>
|
||||
<version>1.5.22</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -316,30 +381,24 @@
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>2.4</version>
|
||||
<version>2.11.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-collections4</artifactId>
|
||||
<version>4.1</version>
|
||||
<version>4.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>1.10</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-math3</artifactId>
|
||||
<version>3.5</version>
|
||||
<version>3.6.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
@@ -352,6 +411,11 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.passay</groupId>
|
||||
<artifactId>passay</artifactId>
|
||||
<version>1.6.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>redis.clients</groupId>
|
||||
@@ -364,43 +428,62 @@
|
||||
<version>1.5.3</version>
|
||||
</dependency>
|
||||
|
||||
<!-- upgrade jdom to 2.0.5 for performance reasons (https://github.com/hunterhacker/jdom/issues/112) -->
|
||||
<dependency>
|
||||
<groupId>com.rometools</groupId>
|
||||
<artifactId>rome</artifactId>
|
||||
<version>${rome.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>jdom</artifactId>
|
||||
<groupId>org.jdom</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.rometools</groupId>
|
||||
<artifactId>rome-modules</artifactId>
|
||||
<version>${rome.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.rometools</groupId>
|
||||
<artifactId>rome-opml</artifactId>
|
||||
<version>${rome.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jdom</groupId>
|
||||
<artifactId>jdom2</artifactId>
|
||||
<version>2.0.6</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.ahocorasick</groupId>
|
||||
<artifactId>ahocorasick</artifactId>
|
||||
<version>0.6.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>1.8.2</version>
|
||||
<version>1.14.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.icu</groupId>
|
||||
<artifactId>icu4j</artifactId>
|
||||
<version>55.1</version>
|
||||
<version>70.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.cssparser</groupId>
|
||||
<artifactId>cssparser</artifactId>
|
||||
<version>0.9.16</version>
|
||||
<version>0.9.29</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>edu.uci.ics</groupId>
|
||||
<artifactId>crawler4j</artifactId>
|
||||
<version>3.5</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.gwt</groupId>
|
||||
<artifactId>gwt-servlet</artifactId>
|
||||
<version>2.9.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.github.hakky54</groupId>
|
||||
<artifactId>sslcontext-kickstart</artifactId>
|
||||
<version>7.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -418,17 +501,16 @@
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
<version>1.3.176</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.37</version>
|
||||
<version>8.0.28</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>9.4.1212</version>
|
||||
<version>42.4.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.jtds</groupId>
|
||||
@@ -437,16 +519,30 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>2.0.11-beta</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mock-server</groupId>
|
||||
<artifactId>mockserver-junit-jupiter</artifactId>
|
||||
<version>5.13.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard</groupId>
|
||||
<artifactId>dropwizard-testing</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.awaitility</groupId>
|
||||
<artifactId>awaitility</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
</project>
|
||||
@@ -1,86 +1,86 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Swagger UI</title>
|
||||
<link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
|
||||
<link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
|
||||
<link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
|
||||
<link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
|
||||
<link href='css/screen.css' media='print' rel='stylesheet' type='text/css'/>
|
||||
<script type="text/javascript" src="lib/shred.bundle.js"></script>
|
||||
<script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
|
||||
<script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
|
||||
<script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
|
||||
<script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
|
||||
<script src='lib/handlebars-2.0.0.js' type='text/javascript'></script>
|
||||
<script src='lib/underscore-min.js' type='text/javascript'></script>
|
||||
<script src='lib/backbone-min.js' type='text/javascript'></script>
|
||||
<script src='lib/swagger-client.js' type='text/javascript'></script>
|
||||
<script src='swagger-ui.js' type='text/javascript'></script>
|
||||
<script src='lib/highlight.7.3.pack.js' type='text/javascript'></script>
|
||||
<script src='lib/marked.js' type='text/javascript'></script>
|
||||
<head>
|
||||
<title>Swagger UI</title>
|
||||
<link href="css/typography.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="css/reset.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="css/screen.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="css/reset.css" media="print" rel="stylesheet" type="text/css" />
|
||||
<link href="css/screen.css" media="print" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="lib/shred.bundle.js"></script>
|
||||
<script src="lib/jquery-1.8.0.min.js" type="text/javascript"></script>
|
||||
<script src="lib/jquery.slideto.min.js" type="text/javascript"></script>
|
||||
<script src="lib/jquery.wiggle.min.js" type="text/javascript"></script>
|
||||
<script src="lib/jquery.ba-bbq.min.js" type="text/javascript"></script>
|
||||
<script src="lib/handlebars-2.0.0.js" type="text/javascript"></script>
|
||||
<script src="lib/underscore-min.js" type="text/javascript"></script>
|
||||
<script src="lib/backbone-min.js" type="text/javascript"></script>
|
||||
<script src="lib/swagger-client.js" type="text/javascript"></script>
|
||||
<script src="swagger-ui.js" type="text/javascript"></script>
|
||||
<script src="lib/highlight.7.3.pack.js" type="text/javascript"></script>
|
||||
<script src="lib/marked.js" type="text/javascript"></script>
|
||||
|
||||
<!-- enabling this will enable oauth2 implicit scope support -->
|
||||
<script src='lib/swagger-oauth.js' type='text/javascript'></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
window.swaggerUi = new SwaggerUi({
|
||||
url: "./swagger.json",
|
||||
dom_id: "swagger-ui-container",
|
||||
supportedSubmitMethods: ['get', 'post', 'put', 'delete'],
|
||||
onComplete: function(swaggerApi, swaggerUi){
|
||||
if(typeof initOAuth == "function") {
|
||||
/*
|
||||
<!-- enabling this will enable oauth2 implicit scope support -->
|
||||
<script src="lib/swagger-oauth.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
window.swaggerUi = new SwaggerUi({
|
||||
url: "./swagger.json",
|
||||
dom_id: "swagger-ui-container",
|
||||
supportedSubmitMethods: ["get", "post", "put", "delete"],
|
||||
onComplete: function (swaggerApi, swaggerUi) {
|
||||
if (typeof initOAuth == "function") {
|
||||
/*
|
||||
initOAuth({
|
||||
clientId: "your-client-id",
|
||||
realm: "your-realms",
|
||||
appName: "your-app-name"
|
||||
});
|
||||
*/
|
||||
}
|
||||
$('pre code').each(function(i, e) {
|
||||
hljs.highlightBlock(e)
|
||||
});
|
||||
},
|
||||
onFailure: function(data) {
|
||||
log("Unable to Load SwaggerUI");
|
||||
},
|
||||
docExpansion: "none",
|
||||
sorter : "alpha"
|
||||
});
|
||||
}
|
||||
$("pre code").each(function (i, e) {
|
||||
hljs.highlightBlock(e)
|
||||
})
|
||||
},
|
||||
onFailure: function (data) {
|
||||
log("Unable to Load SwaggerUI")
|
||||
},
|
||||
docExpansion: "none",
|
||||
sorter: "alpha",
|
||||
})
|
||||
|
||||
$('#input_apiKey').change(function() {
|
||||
var key = $('#input_apiKey')[0].value;
|
||||
log("key: " + key);
|
||||
if(key && key.trim() != "") {
|
||||
log("added key " + key);
|
||||
window.authorizations.add("key", new ApiKeyAuthorization("api_key", key, "query"));
|
||||
}
|
||||
})
|
||||
window.swaggerUi.load();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
$("#input_apiKey").change(function () {
|
||||
var key = $("#input_apiKey")[0].value
|
||||
log("key: " + key)
|
||||
if (key && key.trim() != "") {
|
||||
log("added key " + key)
|
||||
window.authorizations.add("key", new ApiKeyAuthorization("api_key", key, "query"))
|
||||
}
|
||||
})
|
||||
window.swaggerUi.load()
|
||||
})
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="swagger-section">
|
||||
<div id='header'>
|
||||
<div class="swagger-ui-wrap">
|
||||
<a id="logo" href="http://swagger.wordnik.com">swagger</a>
|
||||
<form id='api_selector'>
|
||||
<div class='input icon-btn'>
|
||||
<img id="show-pet-store-icon" src="images/pet_store_api.png" title="Show Swagger Petstore Example Apis">
|
||||
</div>
|
||||
<div class='input icon-btn'>
|
||||
<img id="show-wordnik-dev-icon" src="images/wordnik_api.png" title="Show Wordnik Developer Apis">
|
||||
</div>
|
||||
<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
|
||||
<div class='input'><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text"/></div>
|
||||
<div class='input'><a id="explore" href="#">Explore</a></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<body class="swagger-section">
|
||||
<div id="header">
|
||||
<div class="swagger-ui-wrap">
|
||||
<a id="logo" href="http://swagger.wordnik.com">swagger</a>
|
||||
<form id="api_selector">
|
||||
<div class="input icon-btn">
|
||||
<img id="show-pet-store-icon" src="images/pet_store_api.png" title="Show Swagger Petstore Example Apis" />
|
||||
</div>
|
||||
<div class="input icon-btn">
|
||||
<img id="show-wordnik-dev-icon" src="images/wordnik_api.png" title="Show Wordnik Developer Apis" />
|
||||
</div>
|
||||
<div class="input"><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text" /></div>
|
||||
<div class="input"><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text" /></div>
|
||||
<div class="input"><a id="explore" href="#">Explore</a></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="message-bar" class="swagger-ui-wrap"> </div>
|
||||
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
|
||||
</body>
|
||||
<div id="message-bar" class="swagger-ui-wrap"> </div>
|
||||
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 556 B After Width: | Height: | Size: 505 B |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.3 KiB |
@@ -41,7 +41,6 @@
|
||||
"refresh" : "إعادة انعاش",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "الترتيب حسب التاريخ تصاعدي / تنازلي",
|
||||
"sort_by_abc_zyx" : "Sort alphabetically",
|
||||
"titles_only" : "العناوين فقط",
|
||||
"expanded_view" : "عرض موسع",
|
||||
"mark_all_as_read" : "اعتبر الكل مقروء",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Change password",
|
||||
"confirm_password" : "Confirm password",
|
||||
"minimum_6_chars" : "Minimum 6 characters",
|
||||
"minimum_8_chars" : "Minimum 8 characters",
|
||||
"passwords_do_not_match" : "Passwords do not match",
|
||||
"api_key" : "API key",
|
||||
"api_key_not_generated" : "Not generated yet",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Actualitzar",
|
||||
"refresh_all" : "Força l'actualització de tots els canals",
|
||||
"sort_by_asc_desc" : "Ordenar per data asc/desc",
|
||||
"sort_by_abc_zyx" : "Sort alphabetically",
|
||||
"titles_only" : "Només títols",
|
||||
"expanded_view" : "Vista ampliada",
|
||||
"mark_all_as_read" : "Marcar tots llegits",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "Adreça electrònica",
|
||||
"change_password" : "Canvia la contrasenya ",
|
||||
"confirm_password" : "Confirma la contrasenya",
|
||||
"minimum_6_chars" : "Mínim de 6 caracters",
|
||||
"minimum_8_chars" : "Mínim de 8 caracters",
|
||||
"passwords_do_not_match" : "Les contrasenyes no coincideixen",
|
||||
"api_key" : "Clau API ",
|
||||
"api_key_not_generated" : "Encara no s'ha generat",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh " : " Obnovit",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc " : " Seřadit podle nejnovějšího/nejstaršího",
|
||||
"sort_by_abc_zyx" : "Sort alphabetically",
|
||||
"titles_only " : " Zobrazit jenom titulky",
|
||||
"expanded_view " : " Rozšířený náhled",
|
||||
"mark_all_as_read " : " Označit vše jako přečtené",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email " : " E-mail",
|
||||
"change_password " : " Změnit heslo",
|
||||
"confirm_password " : " Potvrdit heslo",
|
||||
"minimum_6_chars " : " Minimum je 6 znaků",
|
||||
"minimum_8_chars " : " Minimum je 8 znaků",
|
||||
"passwords_do_not_match " : " Hesla se neshodují",
|
||||
"api_key " : " API klíč",
|
||||
"api_key_not_generated " : " Není vygenerován",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Adnewyddu",
|
||||
"refresh_all" : "Gorfodi ail-lwytho pob ffrwd",
|
||||
"sort_by_asc_desc" : "Trefnu yn ôl dyddiad",
|
||||
"sort_by_abc_zyx" : "Sort alphabetically",
|
||||
"titles_only" : "Teitlau yn unig",
|
||||
"expanded_view" : "Golwg estynedig",
|
||||
"mark_all_as_read" : "Nodi'r cyfan fel wedi ei ddarllen",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-bost",
|
||||
"change_password" : "Newid cyfrinair",
|
||||
"confirm_password" : "Cadarnhau cyfrinair",
|
||||
"minimum_6_chars" : "Isafswm 6 nod",
|
||||
"minimum_8_chars" : "Isafswm 8 nod",
|
||||
"passwords_do_not_match" : "Mae'r cyfrineiriau yn wahanol",
|
||||
"api_key" : "Allwedd API",
|
||||
"api_key_not_generated" : "Heb ei gynhyrchu eto",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Opdater",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "Sorter efter dato ny/gammel",
|
||||
"sort_by_abc_zyx" : "Sort alphabetically",
|
||||
"titles_only" : "Kun titler",
|
||||
"expanded_view" : "Udvidet visning",
|
||||
"mark_all_as_read" : "Marker alle som læst",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Skift adgangskode",
|
||||
"confirm_password" : "Bekræft adgangskode",
|
||||
"minimum_6_chars" : "Minimum 6 karakter",
|
||||
"minimum_8_chars" : "Minimum 8 karakter",
|
||||
"passwords_do_not_match" : "Adgangskoderne er ikke ens",
|
||||
"api_key" : "API nøgle",
|
||||
"api_key_not_generated" : "Ikke genereret endnu",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Aktualisieren",
|
||||
"refresh_all" : "Erzwinge Aktualisierung aller Feeds",
|
||||
"sort_by_asc_desc" : "Nach Datum sortieren (auf-/absteigend)",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Nur Überschriften",
|
||||
"expanded_view" : "Ausgedehnte Ansicht",
|
||||
"mark_all_as_read" : "Alle Artikel als gelesen markieren",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Passwort ändern",
|
||||
"confirm_password" : "Passwort bestätigen",
|
||||
"minimum_6_chars" : "Mindestens 6 Zeichen",
|
||||
"minimum_8_chars" : "Mindestens 8 Zeichen",
|
||||
"passwords_do_not_match" : "Passwörter stimmen nicht überein",
|
||||
"api_key" : "API Schlüssel",
|
||||
"api_key_not_generated" : "Noch nicht generiert",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Refresh",
|
||||
"refresh_all" : "Force refresh all my feeds",
|
||||
"sort_by_asc_desc" : "Sort by date asc/desc",
|
||||
"sort_by_abc_zyx" : "Sort alphabetically",
|
||||
"titles_only" : "Titles only",
|
||||
"expanded_view" : "Expanded view",
|
||||
"mark_all_as_read" : "Mark all as read",
|
||||
@@ -112,9 +111,10 @@
|
||||
"profile" : {
|
||||
"user_name" : "User name",
|
||||
"email" : "E-mail",
|
||||
"current_password" : "Current Password",
|
||||
"change_password" : "Change password",
|
||||
"confirm_password" : "Confirm password",
|
||||
"minimum_6_chars" : "Minimum 6 characters",
|
||||
"minimum_8_chars" : "Minimum 8 characters",
|
||||
"passwords_do_not_match" : "Passwords do not match",
|
||||
"api_key" : "API key",
|
||||
"api_key_not_generated" : "Not generated yet",
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
"refresh" : "Actualizar",
|
||||
"refresh_all" : "Forzar la actualización de todos mis canales.",
|
||||
"sort_by_asc_desc" : "Ordenar por fecha asc/desc.",
|
||||
"sort_by_abc_zyx" : "Ordenar alfabéticamente",
|
||||
"titles_only" : "Sólo títulos",
|
||||
"expanded_view" : "Vista expandida",
|
||||
"mark_all_as_read" : "Marcar todos como leído",
|
||||
@@ -114,7 +113,7 @@
|
||||
"email" : "Correo electrónico",
|
||||
"change_password" : "Cambiar contraseña",
|
||||
"confirm_password" : "Confirmar contraseña",
|
||||
"minimum_6_chars" : "Mínimo 6 caracteres",
|
||||
"minimum_8_chars" : "Mínimo 8 caracteres",
|
||||
"passwords_do_not_match" : "Las contraseñas no coinciden",
|
||||
"api_key" : "Clave API",
|
||||
"api_key_not_generated" : "No generado todavía",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "تازهسازی",
|
||||
"refresh_all" : "مجبورکردن تازهسازی همهٔ خوراکها",
|
||||
"sort_by_asc_desc" : "مرتبکردن بر اساس تاریخ بهصورت صعودی/نزولی",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "فقط عنوانها",
|
||||
"expanded_view" : "نمای گسترشیافته",
|
||||
"mark_all_as_read" : "علامتگذاری تمامی مطالب بهعنوان خواندهشده",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "رایانامه",
|
||||
"change_password" : "تغییر گذرواژه",
|
||||
"confirm_password" : "تأیید گذرواژه",
|
||||
"minimum_6_chars" : "حداقل ۶ نویسه",
|
||||
"minimum_8_chars" : "حداقل ۸ نویسه",
|
||||
"passwords_do_not_match" : "گذرواژهها انطباق ندارند",
|
||||
"api_key" : "کلید API",
|
||||
"api_key_not_generated" : "هنوز ایجاد نشدهاست",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Päivitä",
|
||||
"refresh_all" : "Pakota kaikkien syötteiden päivitys",
|
||||
"sort_by_asc_desc" : "Järjestä päivämäärän mukaan nousevasti/laskevasti",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Näytä vain otsikot",
|
||||
"expanded_view" : "Laajennettu näkymä",
|
||||
"mark_all_as_read" : "Merkitse kaikki luetuiksi",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "Sähköposti",
|
||||
"change_password" : "Vaihda salasana",
|
||||
"confirm_password" : "Vahvista uusi salasana",
|
||||
"minimum_6_chars" : "Vähintään 6 merkkiä",
|
||||
"minimum_8_chars" : "Vähintään 8 merkkiä",
|
||||
"passwords_do_not_match" : "Salasanat eivät täsmää",
|
||||
"api_key" : "API-avain",
|
||||
"api_key_not_generated" : "API-avainta ei ole vielä luotu",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Rafraîchir",
|
||||
"refresh_all" : "Rafraîchir tous les flux",
|
||||
"sort_by_asc_desc" : "Trier par date croissante/décroissante",
|
||||
"sort_by_abc_zyx" : "Trier par ordre alphabétique",
|
||||
"titles_only" : "Titres uniquement",
|
||||
"expanded_view" : "Vue étendue",
|
||||
"mark_all_as_read" : "Tout marquer comme lu",
|
||||
@@ -110,9 +109,10 @@
|
||||
"profile" : {
|
||||
"user_name" : "Nom",
|
||||
"email" : "E-mail",
|
||||
"current_password" : "Mot de passe actuel",
|
||||
"change_password" : "Changer de mot de passe",
|
||||
"confirm_password" : "Confirmer le mot de passe",
|
||||
"minimum_6_chars" : "Minimum 6 caractères",
|
||||
"minimum_8_chars" : "Minimum 8 caractères",
|
||||
"passwords_do_not_match" : "Les mots de passe ne correspondent pas",
|
||||
"api_key" : "Clé API",
|
||||
"api_key_not_generated" : "Pas encore générée",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Actualizar",
|
||||
"refresh_all" : "Forzar a actualización de todas as fontes ",
|
||||
"sort_by_asc_desc" : "Ordenar por data asc/desc",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Só títulos",
|
||||
"expanded_view" : "Vista expandida",
|
||||
"mark_all_as_read" : "Marcar todos como lidos",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "Correo",
|
||||
"change_password" : "Cambiar contrasinal",
|
||||
"confirm_password" : "Confirmar contrasinal",
|
||||
"minimum_6_chars" : "Mínimo 6 caracteres",
|
||||
"minimum_8_chars" : "Mínimo 8 caracteres",
|
||||
"passwords_do_not_match" : "Os contrasinais non coinciden no coinciden",
|
||||
"api_key" : "Chave API",
|
||||
"api_key_not_generated" : "Non xerado todavía",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "واجأری",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "تاریخˇ سر دچئن",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "خالی تیتران",
|
||||
"expanded_view" : "واشاده نما",
|
||||
"mark_all_as_read" : "همهته مطالبه چاکون بخانده",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "ایمئل",
|
||||
"change_password" : "رمزه عوضأگودن",
|
||||
"confirm_password" : "رمزه تأیید گودن",
|
||||
"minimum_6_chars" : "ناقلن 6 کارکتر",
|
||||
"minimum_8_chars" : "ناقلن 8 کارکتر",
|
||||
"passwords_do_not_match" : "رمزان کسبهکسه نخانید",
|
||||
"api_key" : "کلید API",
|
||||
"api_key_not_generated" : "هلئه چاگوده نبؤ",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Frissítés",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "Rendezés időrend szerint",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Csak cím",
|
||||
"expanded_view" : "Részletes nézet",
|
||||
"mark_all_as_read" : "Az összes megjelölése olvasottként",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Jelszó megváltoztatás",
|
||||
"confirm_password" : "Jelszó megerősítése",
|
||||
"minimum_6_chars" : "Legalább 8 karakter",
|
||||
"minimum_8_chars" : "Legalább 8 karakter",
|
||||
"passwords_do_not_match" : "A jelszavak nem egyeznek",
|
||||
"api_key" : "API kulcs",
|
||||
"api_key_not_generated" : "Még nincsen generálva",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Segarkan",
|
||||
"refresh_all" : "Memaksa menyegarkan semua umpan saya",
|
||||
"sort_by_asc_desc" : "Urutkan menurut tanggal asc/desc",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Hanya Judul",
|
||||
"expanded_view" : "Penglihatan diperluas",
|
||||
"mark_all_as_read" : "Tandai semua sebagai telah dibaca",
|
||||
@@ -114,7 +113,7 @@
|
||||
"email" : "Surel",
|
||||
"change_password" : "Ganti kata sandi",
|
||||
"confirm_password" : "Konfirmasi kata sandi",
|
||||
"minimum_6_chars" : "Minimal 6 karakter",
|
||||
"minimum_8_chars" : "Minimal 8 karakter",
|
||||
"passwords_do_not_match" : "Kata sandi tidak sesuai",
|
||||
"api_key" : "kunci API",
|
||||
"api_key_not_generated" : "Belum menghasilkan",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Aggiorna",
|
||||
"refresh_all" : "Forza l'aggiornamento di tutti i feed",
|
||||
"sort_by_asc_desc" : "Ordina per data crescente/decrescente",
|
||||
"sort_by_abc_zyx" : "Ordina alfabeticamente",
|
||||
"titles_only" : "Solo i titoli",
|
||||
"expanded_view" : "Espandi",
|
||||
"mark_all_as_read" : "Segna tutti come già letti",
|
||||
@@ -114,7 +113,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Cambia password",
|
||||
"confirm_password" : "Conferma password",
|
||||
"minimum_6_chars" : "Minimo 6 caratteri",
|
||||
"minimum_8_chars" : "Minimo 8 caratteri",
|
||||
"passwords_do_not_match" : "Le password non corrispondono",
|
||||
"api_key" : "chiave API",
|
||||
"api_key_not_generated" : "Non ancora generata",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"save" : "保存",
|
||||
"cancel" : "取り消し",
|
||||
"delete" : "削除",
|
||||
"required" : "Required",
|
||||
"required" : "必須",
|
||||
"download" : "ダウンロード",
|
||||
"link" : "リンク",
|
||||
"bookmark" : "ブックマーク",
|
||||
@@ -15,7 +15,7 @@
|
||||
"import" : "インポート",
|
||||
"new_category" : "新しいカテゴリー",
|
||||
"all" : "全て",
|
||||
"starred" : "スター付"
|
||||
"starred" : "スター付き"
|
||||
},
|
||||
"subscribe" : {
|
||||
"feed_url" : "フィードURL",
|
||||
@@ -40,8 +40,7 @@
|
||||
"next_entry" : "次のエントリー",
|
||||
"refresh" : "更新",
|
||||
"refresh_all" : "全てのフィードを更新",
|
||||
"sort_by_asc_desc" : "昇順/降順にソート",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"sort_by_asc_desc" : "日時でソート",
|
||||
"titles_only" : "タイトルのみ",
|
||||
"expanded_view" : "拡張ビュー",
|
||||
"mark_all_as_read" : "全て既読にする",
|
||||
@@ -101,8 +100,8 @@
|
||||
"feed_url" : "フィードURL",
|
||||
"generate_api_key_first" : "最初にあなたのAPIキーを生成して下さい。",
|
||||
"unsubscribe" : "購読解除",
|
||||
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
|
||||
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
|
||||
"unsubscribe_confirmation" : "フィードの購読を解除してよろしいですか?",
|
||||
"delete_category_confirmation" : "カテゴリーを削除してよろしいですか?",
|
||||
"category_details" : "カテゴリー詳細",
|
||||
"tag_details" : "タグ詳細",
|
||||
"parent_category" : "親カテゴリー"
|
||||
@@ -112,15 +111,15 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "パスワードの変更",
|
||||
"confirm_password" : "変更パスワードの確認",
|
||||
"minimum_6_chars" : "6文字以上",
|
||||
"minimum_8_chars" : "8文字以上",
|
||||
"passwords_do_not_match" : "パスワードが一致しません",
|
||||
"api_key" : "APIキー",
|
||||
"api_key_not_generated" : "APIキーが生成されていません",
|
||||
"generate_new_api_key" : "新しいAPIキーを生成",
|
||||
"generate_new_api_key_info" : "パスワードの変更は新しいAPIキーが生成されます",
|
||||
"generate_new_api_key_info" : "パスワードを変更すると新しいAPIキーが生成されます",
|
||||
"opml_export" : "OPMLエクスポート",
|
||||
"delete_account" : "アカウント削除",
|
||||
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
|
||||
"delete_account_confirmation" : "アカウントを削除してよろしいですか? 削除すると戻すことはできません!"
|
||||
},
|
||||
"about" : {
|
||||
"rest_api" : {
|
||||
@@ -150,10 +149,10 @@
|
||||
},
|
||||
"translation" : {
|
||||
"value" : "翻訳",
|
||||
"message" : "CommaFeedの翻訳に助けが必要です!",
|
||||
"link" : "どうやって翻訳に貢献できるか見て下さい。"
|
||||
"message" : "CommaFeedの翻訳にご協力ください!",
|
||||
"link" : "翻訳にあたっての案内はこちら"
|
||||
},
|
||||
"announcements" : "Announcements",
|
||||
"announcements" : "お知らせ",
|
||||
"shortcuts" : {
|
||||
"mouse_middleclick" : "中クリック",
|
||||
"open_next_entry" : "次のエントリーを開く",
|
||||
@@ -171,7 +170,7 @@
|
||||
"mark_current_entry" : "現在のエントリーを既読/未読にする",
|
||||
"mark_all_as_read" : "全エントリーを既読にする",
|
||||
"open_in_new_tab_mark_as_read" : "エントリーを既読にして新しいタブで開く",
|
||||
"fullscreen" : "フルスクリーントグル",
|
||||
"fullscreen" : "フルスクリーン切り替え",
|
||||
"font_size" : "現在のエントリーのフォントサイズを大きく/小さくする",
|
||||
"go_to_all" : "All viewに変更する",
|
||||
"go_to_starred" : "スター付きviewに変更する",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "새로고침",
|
||||
"refresh_all" : "모든 피드를 강제로 새로고침",
|
||||
"sort_by_asc_desc" : "날짜별 오름차/내림차순 정렬",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "제목만 표시하기",
|
||||
"expanded_view" : "Expanded View",
|
||||
"mark_all_as_read" : "읽음으로 표시",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "이메일",
|
||||
"change_password" : "비밀번호 변경",
|
||||
"confirm_password" : "비밀번호 확인",
|
||||
"minimum_6_chars" : "최소 6개의 문자가 필요합니다.",
|
||||
"minimum_8_chars" : "최소 8개의 문자가 필요합니다.",
|
||||
"passwords_do_not_match" : "비밀번호가 일치하지 않습니다.",
|
||||
"api_key" : "API key",
|
||||
"api_key_not_generated" : "아직 API Key가 생성되지 않았습니다.",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Refresh",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "Aturkan mengikut tarikh (baru/lama)",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Tajuk sahaja",
|
||||
"expanded_view" : "Wide view",
|
||||
"mark_all_as_read" : "Tanda kesemuanya telah dibaca",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mel",
|
||||
"change_password" : "Tukar kata laluan",
|
||||
"confirm_password" : "Sahkan kata laluan",
|
||||
"minimum_6_chars" : "Minimum 6 huruf",
|
||||
"minimum_8_chars" : "Minimum 8 huruf",
|
||||
"passwords_do_not_match" : "Kata laluan tidak sama",
|
||||
"api_key" : "API key",
|
||||
"api_key_not_generated" : "Belum dijana",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Oppdater",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "Sorter etter dato ny/gammel",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Kun titler",
|
||||
"expanded_view" : "Utvidet visning",
|
||||
"mark_all_as_read" : "Merk alle som lest",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-post",
|
||||
"change_password" : "Endre passord",
|
||||
"confirm_password" : "Bekreft passord",
|
||||
"minimum_6_chars" : "Minimum 6 tegn",
|
||||
"minimum_8_chars" : "Minimum 8 tegn",
|
||||
"passwords_do_not_match" : "Passordene er ikke like",
|
||||
"api_key" : "API-nøkkel",
|
||||
"api_key_not_generated" : "Har ikke blitt generert",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Vernieuwen",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "Sorteer op datum opl/afl",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Alleen titels",
|
||||
"expanded_view" : "Uitgebreide weergave",
|
||||
"mark_all_as_read" : "Markeer alles als gelezen",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Verander wachtwoord",
|
||||
"confirm_password" : "Bevestig wachtwoord",
|
||||
"minimum_6_chars" : "Minimaal 6 tekens",
|
||||
"minimum_8_chars" : "Minimaal 8 tekens",
|
||||
"passwords_do_not_match" : "Wachtwoorden komen niet overeen",
|
||||
"api_key" : "API sleutel",
|
||||
"api_key_not_generated" : "Nog niet gegenereerd",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Oppdater",
|
||||
"refresh_all" : "Force refresh all my feeds ",
|
||||
"sort_by_asc_desc" : "Sorter etter dato ny/gamal",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Berre titlar",
|
||||
"expanded_view" : "Utvida visning",
|
||||
"mark_all_as_read" : "Merk alle som lesne",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-post",
|
||||
"change_password" : "Endre passord",
|
||||
"confirm_password" : "Stadfest passord",
|
||||
"minimum_6_chars" : "Minimum 6 teikn",
|
||||
"minimum_8_chars" : "Minimum 8 teikn",
|
||||
"passwords_do_not_match" : "Passorda er usamde",
|
||||
"api_key" : "API-nykel",
|
||||
"api_key_not_generated" : "Har ikkje vorte generert",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Odswież",
|
||||
"refresh_all" : "Odśwież teraz wszystkie kanały ",
|
||||
"sort_by_asc_desc" : "Sortuj od najnowszego/najstarszego",
|
||||
"sort_by_abc_zyx" : "Sortuj alfabetycznie",
|
||||
"titles_only" : "Widok listy",
|
||||
"expanded_view" : "Widok rozwinięty",
|
||||
"mark_all_as_read" : "Oznacz wszystko jako przeczytane",
|
||||
@@ -114,7 +113,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Zmień hasło",
|
||||
"confirm_password" : "Potwierdź hasło",
|
||||
"minimum_6_chars" : "Minimum 6 znaków",
|
||||
"minimum_8_chars" : "Minimum 8 znaków",
|
||||
"passwords_do_not_match" : "Hasła nie pasują do siebie",
|
||||
"api_key" : "Klucz API",
|
||||
"api_key_not_generated" : "Jeszcze niewygenerowany",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Atualizar",
|
||||
"refresh_all" : "Forçar atualização de todos os meus feeds",
|
||||
"sort_by_asc_desc" : "Ordenar por data cresc/decres",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Somente títulos",
|
||||
"expanded_view" : "Modo Expandido",
|
||||
"mark_all_as_read" : "Marcar tudo como lido",
|
||||
@@ -63,8 +62,8 @@
|
||||
"keep_unread" : "Manter como não lido",
|
||||
"no_unread_items" : "não tem itens não lidos.",
|
||||
"mark_up_to_here" : "Marcar como lido até aqui",
|
||||
"search_for" : "searching for: ",
|
||||
"no_search_results" : "No match found for the requested keywords "
|
||||
"search_for" : "Procurando por: ",
|
||||
"no_search_results" : "Nenhum resultado encontrado para a pesquisa."
|
||||
},
|
||||
"feedsearch" : {
|
||||
"hint" : "Digite o nome de uma Inscrição...",
|
||||
@@ -81,8 +80,8 @@
|
||||
"scroll_marks" : "No modo expandido, percorrer os itens marca-os como lidos"
|
||||
},
|
||||
"appearance" : "Aparência",
|
||||
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
|
||||
"scroll_speed_help" : "set to 0 to disable ",
|
||||
"scroll_speed" : "Velocidade de rolagem enquanto navega pelos itens.",
|
||||
"scroll_speed_help" : "Deixe em 0 para desabilitar ",
|
||||
"theme" : "Tema",
|
||||
"submit_your_theme" : "Envie seu tema",
|
||||
"custom_css" : "CSS personalizado"
|
||||
@@ -95,24 +94,24 @@
|
||||
"category" : "Categoria",
|
||||
"position" : "Posição",
|
||||
"last_refresh" : "Última atualização",
|
||||
"message" : "Last refresh message ",
|
||||
"message" : "Ultima mensagem de atualização ",
|
||||
"next_refresh" : "Próxima atualização",
|
||||
"queued_for_refresh" : "Na fila para atualizar",
|
||||
"feed_url" : "URL do feed",
|
||||
"generate_api_key_first" : "Gerar uma chave de API em seu perfil primeiro.",
|
||||
"unsubscribe" : "Cancelar inscrição",
|
||||
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
|
||||
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
|
||||
"unsubscribe_confirmation" : "Você tem certeza de que deseja se desinscrever desse feed? ",
|
||||
"delete_category_confirmation" : "Você tem certeza de que deseja deletar essa categoria? ",
|
||||
"category_details" : "Detalhes da categoria",
|
||||
"tag_details" : "Tag details ",
|
||||
"parent_category" : "Categoria pai"
|
||||
"tag_details" : "Detalhes da tag ",
|
||||
"parent_category" : "Categoria principal"
|
||||
},
|
||||
"profile" : {
|
||||
"user_name" : "Nome de usuário",
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Trocar senha",
|
||||
"confirm_password" : "Confirmar senha",
|
||||
"minimum_6_chars" : "Mínimo de 6 caracteres",
|
||||
"minimum_8_chars" : "Mínimo de 8 caracteres",
|
||||
"passwords_do_not_match" : "Senhas não conferem",
|
||||
"api_key" : "Chave de API",
|
||||
"api_key_not_generated" : "Ainda não gerada",
|
||||
@@ -120,7 +119,7 @@
|
||||
"generate_new_api_key_info" : "Mudar a senha irá gerar uma nova chave de API",
|
||||
"opml_export" : "Exportar OPML",
|
||||
"delete_account" : "Excluir conta",
|
||||
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
|
||||
"delete_account_confirmation" : "Deseja excluir sua conta? Não há como desfazer essa ação! "
|
||||
},
|
||||
"about" : {
|
||||
"rest_api" : {
|
||||
@@ -130,7 +129,7 @@
|
||||
},
|
||||
"keyboard_shortcuts" : "Atalhos de teclado",
|
||||
"version" : "CommaFeed versão",
|
||||
"line1_prefix" : "CommaFeed é um projeto de código livre. Fontes estão hospedados em ",
|
||||
"line1_prefix" : "CommaFeed é um projeto de código livre. As sources estão hospedados em ",
|
||||
"line1_suffix" : ".",
|
||||
"line2_prefix" : "Se você encontrar um problema, por favor relate-o na página de problemas do projeto ",
|
||||
"line2_suffix" : ".",
|
||||
@@ -144,13 +143,13 @@
|
||||
"firefox_extension" : "Extensão para o Firefox",
|
||||
"opera_extension" : "Extensão para o Opera",
|
||||
"subscribe_bookmarklet" : "Bookmarklet para adicionar inscrição (clique)",
|
||||
"subscribe_bookmarklet_asc" : "Mais velhas primeiro",
|
||||
"subscribe_bookmarklet_desc" : "Mais novas primeiro",
|
||||
"subscribe_bookmarklet_asc" : "Mais antigas primeiro",
|
||||
"subscribe_bookmarklet_desc" : "Mais recentes primeiro",
|
||||
"next_unread_bookmarklet" : "Bookmarklet para o próximo item não lido (arraste para a barra de favoritos)"
|
||||
},
|
||||
"translation" : {
|
||||
"value" : "Tradução",
|
||||
"message" : "Precisamos de sua ajuda para traduzir CommaFeed.",
|
||||
"message" : "Precisamos de sua ajuda para traduzir o CommaFeed.",
|
||||
"link" : "Veja como contribuir com traduções."
|
||||
},
|
||||
"announcements" : "Anúncios",
|
||||
@@ -178,4 +177,4 @@
|
||||
"feed_search" : "navega entre inscrições buscando pelo nome"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Обновить",
|
||||
"refresh_all" : "Обновить все подписки вручную",
|
||||
"sort_by_asc_desc" : "Сначала новые/старые",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Только заголовки",
|
||||
"expanded_view" : "Развёрнутый вид",
|
||||
"mark_all_as_read" : "Отметить всё как прочитанное",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "Эл. почта",
|
||||
"change_password" : "Изменить пароль",
|
||||
"confirm_password" : "Подтвердите пароль",
|
||||
"minimum_6_chars" : "Не меньше 6 символов",
|
||||
"minimum_8_chars" : "Не меньше 8 символов",
|
||||
"passwords_do_not_match" : "Пароли не совпадают",
|
||||
"api_key" : "API-ключ",
|
||||
"api_key_not_generated" : "Не сгенерирован",
|
||||
@@ -178,4 +177,4 @@
|
||||
"feed_search" : "перейти к подписке по названию"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Obnoviť",
|
||||
"refresh_all" : "Vynútené obnovenie všetkých položiek",
|
||||
"sort_by_asc_desc" : "Zoradiť podľa najnovšieho/najstaršieho",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Náhľad titulkov",
|
||||
"expanded_view" : "Rozšírený náhľad",
|
||||
"mark_all_as_read" : "Označiť všetky ako prečítané",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Zmeniť heslo",
|
||||
"confirm_password" : "Potvrdiť heslo",
|
||||
"minimum_6_chars" : "Minimum je 6 znakov",
|
||||
"minimum_8_chars" : "Minimum je 8 znakov",
|
||||
"passwords_do_not_match" : "Heslá sa nezhodujú",
|
||||
"api_key" : "API kľúč",
|
||||
"api_key_not_generated" : "Nie je vygenerovaný",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Uppdatera",
|
||||
"refresh_all" : "Tvinga uppdatering av alla prenumerationer",
|
||||
"sort_by_asc_desc" : "Sortera efter datum stigande/fallande",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Endast titlar",
|
||||
"expanded_view" : "Expanderad vy",
|
||||
"mark_all_as_read" : "Markera alla som lästa",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-mail",
|
||||
"change_password" : "Ändra lösenord",
|
||||
"confirm_password" : "Bekräfta lösenord",
|
||||
"minimum_6_chars" : "Minst 6 bokstäver",
|
||||
"minimum_8_chars" : "Minst 8 bokstäver",
|
||||
"passwords_do_not_match" : "Lösenorden matchar inte",
|
||||
"api_key" : "API-nyckel",
|
||||
"api_key_not_generated" : "Inte skapad än",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "Yenile",
|
||||
"refresh_all" : "Tüm yayınları yenilemek için zorla",
|
||||
"sort_by_asc_desc" : "Tarihe göre sırala artan/azalan",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "Sadece başlıklar",
|
||||
"expanded_view" : "Genişletilmiş görünüm",
|
||||
"mark_all_as_read" : "Tümünü okundu işaretle",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "E-posta",
|
||||
"change_password" : "Şifre değiştir",
|
||||
"confirm_password" : "Şifreyi doğrula",
|
||||
"minimum_6_chars" : "En az 6 karakter",
|
||||
"minimum_8_chars" : "En az 8 karakter",
|
||||
"passwords_do_not_match" : "Şifreler uyuşmuyor",
|
||||
"api_key" : "API anahtarı",
|
||||
"api_key_not_generated" : "Henüz oluşturulmadı",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"refresh" : "刷新",
|
||||
"refresh_all" : "刷新所有订阅",
|
||||
"sort_by_asc_desc" : "按日期升序/降序排序",
|
||||
"sort_by_abc_zyx" : "Sort Alphabetically",
|
||||
"titles_only" : "仅显示标题",
|
||||
"expanded_view" : "显示内容",
|
||||
"mark_all_as_read" : "标记所有为已读",
|
||||
@@ -112,7 +111,7 @@
|
||||
"email" : "邮箱",
|
||||
"change_password" : "修改密码",
|
||||
"confirm_password" : "确认密码",
|
||||
"minimum_6_chars" : "最少为 6 个字母",
|
||||
"minimum_8_chars" : "最少为 8 个字母",
|
||||
"passwords_do_not_match" : "密码不匹配",
|
||||
"api_key" : "API 密钥",
|
||||
"api_key_not_generated" : "API 密钥尚未生成",
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 46 KiB |
@@ -1,86 +1,86 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CommaFeed</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
<link rel="apple-touch-icon" href="app-icon-57.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="app-icon-72.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="app-icon-114.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="app-icon-144.png" />
|
||||
<link rel="icon" sizes="32x32" href="app-icon-32.png" />
|
||||
<link rel="icon" sizes="64x64" href="app-icon-64.png" />
|
||||
<link rel="icon" sizes="128x128" href="app-icon-128.png" />
|
||||
<link rel="icon" sizes="192x192" href="app-icon-192.png" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
<meta name="theme-color" content="#F88A14" />
|
||||
<meta name="application-name" content="CommaFeed" />
|
||||
<meta name="msapplication-navbutton-color" content="#F88A14" />
|
||||
<meta name="msapplication-starturl" content="/" />
|
||||
<meta name="msapplication-square70x70logo" content="metro-icon-70.png" />
|
||||
<meta name="msapplication-square150x150logo" content="metro-icon-150.png" />
|
||||
<link rel="fluid-icon" href="app-icon-512.png" title="CommaFeed" />
|
||||
<link rel="logo" type="image/svg" href="app-icon.svg" />
|
||||
<head>
|
||||
<title>CommaFeed</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<link rel="manifest" href="manifest.json" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
<link rel="apple-touch-icon" href="app-icon-57.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="app-icon-72.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="app-icon-114.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="app-icon-144.png" />
|
||||
<link rel="icon" sizes="32x32" href="app-icon-32.png" />
|
||||
<link rel="icon" sizes="64x64" href="app-icon-64.png" />
|
||||
<link rel="icon" sizes="128x128" href="app-icon-128.png" />
|
||||
<link rel="icon" sizes="192x192" href="app-icon-192.png" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
<meta name="theme-color" content="#F88A14" />
|
||||
<meta name="application-name" content="CommaFeed" />
|
||||
<meta name="msapplication-navbutton-color" content="#F88A14" />
|
||||
<meta name="msapplication-starturl" content="/" />
|
||||
<meta name="msapplication-square70x70logo" content="metro-icon-70.png" />
|
||||
<meta name="msapplication-square150x150logo" content="metro-icon-150.png" />
|
||||
<link rel="fluid-icon" href="app-icon-512.png" title="CommaFeed" />
|
||||
<link rel="logo" type="image/svg" href="app-icon.svg" />
|
||||
|
||||
<!-- build:css css/app.css -->
|
||||
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.css" />
|
||||
<link rel="stylesheet" href="lib/font-awesome/css/font-awesome.css" />
|
||||
<link rel="stylesheet" href="lib/select2/select2.css" />
|
||||
<link rel="stylesheet" href="lib/ng-grid/ng-grid.css" />
|
||||
<link rel="stylesheet" href="lib/jquery-ui/themes/base/jquery-ui.css" />
|
||||
<link rel="stylesheet" href="lib/angular-loading-bar/build/loading-bar.css" />
|
||||
<!-- build:css css/app.css -->
|
||||
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.css" />
|
||||
<link rel="stylesheet" href="lib/font-awesome/css/font-awesome.css" />
|
||||
<link rel="stylesheet" href="lib/select2/select2.css" />
|
||||
<link rel="stylesheet" href="lib/ng-grid/ng-grid.css" />
|
||||
<link rel="stylesheet" href="lib/jquery-ui/themes/base/jquery-ui.css" />
|
||||
<link rel="stylesheet" href="lib/angular-loading-bar/build/loading-bar.css" />
|
||||
|
||||
<link rel="stylesheet" href="css/app.css" />
|
||||
<!-- endbuild -->
|
||||
<link rel="stylesheet" href="custom_css.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div ng-app="commafeed" id="main" class="main">
|
||||
<div ui-view></div>
|
||||
</div>
|
||||
|
||||
<!-- build:js js/app.js -->
|
||||
<script type="text/javascript" src="lib/lodash/lodash.js"></script>
|
||||
<script type="text/javascript" src="lib/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="lib/jquery-ui/ui/jquery-ui.js"></script>
|
||||
<script type="text/javascript" src="lib/jquery-mousewheel/jquery.mousewheel.js"></script>
|
||||
<script type="text/javascript" src="lib/bootstrap/dist/js/bootstrap.js"></script>
|
||||
<script type="text/javascript" src="lib/angular/angular.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-route/angular-route.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-resource/angular-resource.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-sanitize/angular-sanitize.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-touch/angular-touch.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-animate/angular-animate.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-bootstrap/ui-bootstrap-tpls.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-loading-bar/build/loading-bar.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-translate/angular-translate.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-translate-loader-static-files/angular-translate-loader-static-files.js"></script>
|
||||
|
||||
<script type="text/javascript" src="lib/ngInfiniteScroll/build/ng-infinite-scroll.js"></script>
|
||||
<script type="text/javascript" src="lib/ng-grid/build/ng-grid.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-ui-router/release/angular-ui-router.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-ui-utils/ui-utils.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-ui-select2/src/select2.js"></script>
|
||||
<script type="text/javascript" src="lib/select2/select2.js"></script>
|
||||
<script type="text/javascript" src="lib/mousetrap/mousetrap.js"></script>
|
||||
<script type="text/javascript" src="lib/momentjs/min/moment-with-locales.js"></script>
|
||||
<script type="text/javascript" src="lib/devicejs/lib/device.js"></script>
|
||||
<script type="text/javascript" src="lib/tinycon/tinycon.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/controllers.js"></script>
|
||||
<script type="text/javascript" src="js/directives.js"></script>
|
||||
<script type="text/javascript" src="js/filters.js"></script>
|
||||
<script type="text/javascript" src="js/main.js"></script>
|
||||
<script type="text/javascript" src="js/services.js"></script>
|
||||
<script type="text/javascript" src="js/i18n.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/templates.js"></script>
|
||||
<!-- endbuild -->
|
||||
<script type="text/javascript" src="analytics.js"></script>
|
||||
</body>
|
||||
<link rel="stylesheet" href="css/app.css" />
|
||||
<!-- endbuild -->
|
||||
<link rel="stylesheet" href="custom_css.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div ng-app="commafeed" id="main" class="main">
|
||||
<div ui-view></div>
|
||||
</div>
|
||||
|
||||
<!-- build:js js/app.js -->
|
||||
<script type="text/javascript" src="lib/lodash/lodash.js"></script>
|
||||
<script type="text/javascript" src="lib/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="lib/jquery-ui/ui/jquery-ui.js"></script>
|
||||
<script type="text/javascript" src="lib/jquery-mousewheel/jquery.mousewheel.js"></script>
|
||||
<script type="text/javascript" src="lib/bootstrap/dist/js/bootstrap.js"></script>
|
||||
<script type="text/javascript" src="lib/angular/angular.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-route/angular-route.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-resource/angular-resource.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-sanitize/angular-sanitize.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-touch/angular-touch.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-animate/angular-animate.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-bootstrap/ui-bootstrap-tpls.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-loading-bar/build/loading-bar.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-translate/angular-translate.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-translate-loader-static-files/angular-translate-loader-static-files.js"></script>
|
||||
|
||||
<script type="text/javascript" src="lib/ngInfiniteScroll/build/ng-infinite-scroll.js"></script>
|
||||
<script type="text/javascript" src="lib/ng-grid/build/ng-grid.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-ui-router/release/angular-ui-router.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-ui-utils/ui-utils.js"></script>
|
||||
<script type="text/javascript" src="lib/angular-ui-select2/src/select2.js"></script>
|
||||
<script type="text/javascript" src="lib/select2/select2.js"></script>
|
||||
<script type="text/javascript" src="lib/mousetrap/mousetrap.js"></script>
|
||||
<script type="text/javascript" src="lib/momentjs/min/moment-with-locales.js"></script>
|
||||
<script type="text/javascript" src="lib/devicejs/lib/device.js"></script>
|
||||
<script type="text/javascript" src="lib/tinycon/tinycon.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/controllers.js"></script>
|
||||
<script type="text/javascript" src="js/directives.js"></script>
|
||||
<script type="text/javascript" src="js/filters.js"></script>
|
||||
<script type="text/javascript" src="js/main.js"></script>
|
||||
<script type="text/javascript" src="js/services.js"></script>
|
||||
<script type="text/javascript" src="js/i18n.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/templates.js"></script>
|
||||
<!-- endbuild -->
|
||||
<script type="text/javascript" src="analytics.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,373 +1,402 @@
|
||||
var module = angular.module('commafeed.directives', []);
|
||||
var module = angular.module("commafeed.directives", [])
|
||||
|
||||
module.directive('focus', ['$timeout', function($timeout) {
|
||||
return {
|
||||
restrict : 'A',
|
||||
link : function(scope, element, attrs) {
|
||||
scope.$watch(attrs.focus, function(value) {
|
||||
if (!value)
|
||||
return;
|
||||
$timeout(function() {
|
||||
$(element).focus();
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
}]);
|
||||
module.directive("focus", [
|
||||
"$timeout",
|
||||
function ($timeout) {
|
||||
return {
|
||||
restrict: "A",
|
||||
link: function (scope, element, attrs) {
|
||||
scope.$watch(attrs.focus, function (value) {
|
||||
if (!value) return
|
||||
$timeout(function () {
|
||||
$(element).focus()
|
||||
})
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
module.directive('confirmClick', [function() {
|
||||
return {
|
||||
priority : -1,
|
||||
restrict : 'A',
|
||||
link : function(scope, element, attrs) {
|
||||
element.bind('click', function(e) {
|
||||
var message = scope.$eval(attrs.confirmClick);
|
||||
if (message && !confirm(message)) {
|
||||
e.stopImmediatePropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
}]);
|
||||
module.directive("confirmClick", [
|
||||
function () {
|
||||
return {
|
||||
priority: -1,
|
||||
restrict: "A",
|
||||
link: function (scope, element, attrs) {
|
||||
element.bind("click", function (e) {
|
||||
var message = scope.$eval(attrs.confirmClick)
|
||||
if (message && !confirm(message)) {
|
||||
e.stopImmediatePropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
/**
|
||||
* Open a popup window pointing to the url in the href attribute
|
||||
*/
|
||||
module.directive('popup', function() {
|
||||
var opts = 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=800';
|
||||
return {
|
||||
link : function(scope, elm, attrs) {
|
||||
elm.bind('click', function(event) {
|
||||
window.open(this.href, '', opts);
|
||||
event.preventDefault();
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
module.directive("popup", function () {
|
||||
var opts = "menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=800"
|
||||
return {
|
||||
link: function (scope, elm, attrs) {
|
||||
elm.bind("click", function (event) {
|
||||
window.open(this.href, "", opts)
|
||||
event.preventDefault()
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* entry tag handling
|
||||
*/
|
||||
module.directive('tags', function() {
|
||||
return {
|
||||
restrict : 'E',
|
||||
scope : {
|
||||
entry : '='
|
||||
},
|
||||
replace : true,
|
||||
templateUrl : 'templates/_tags.html',
|
||||
controller : ['$scope', 'EntryService', function($scope, EntryService) {
|
||||
$scope.select2Options = {
|
||||
'multiple' : true,
|
||||
'simple_tags' : true,
|
||||
'maximumInputLength' : 40,
|
||||
tags : EntryService.tags
|
||||
};
|
||||
module.directive("tags", function () {
|
||||
return {
|
||||
restrict: "E",
|
||||
scope: {
|
||||
entry: "=",
|
||||
},
|
||||
replace: true,
|
||||
templateUrl: "templates/_tags.html",
|
||||
controller: [
|
||||
"$scope",
|
||||
"EntryService",
|
||||
function ($scope, EntryService) {
|
||||
$scope.select2Options = {
|
||||
multiple: true,
|
||||
simple_tags: true,
|
||||
maximumInputLength: 40,
|
||||
tags: EntryService.tags,
|
||||
}
|
||||
|
||||
$scope.$watch('entry.tags', function(newValue, oldValue) {
|
||||
if (oldValue && newValue != oldValue) {
|
||||
var data = {
|
||||
entryId : $scope.entry.id,
|
||||
tags : []
|
||||
};
|
||||
if (newValue) {
|
||||
data.tags = newValue;
|
||||
}
|
||||
EntryService.tag(data);
|
||||
}
|
||||
}, true);
|
||||
}]
|
||||
};
|
||||
});
|
||||
$scope.$watch(
|
||||
"entry.tags",
|
||||
function (newValue, oldValue) {
|
||||
if (oldValue && newValue != oldValue) {
|
||||
var data = {
|
||||
entryId: $scope.entry.id,
|
||||
tags: [],
|
||||
}
|
||||
if (newValue) {
|
||||
data.tags = newValue
|
||||
}
|
||||
EntryService.tag(data)
|
||||
}
|
||||
},
|
||||
true
|
||||
)
|
||||
},
|
||||
],
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Reusable favicon component
|
||||
*/
|
||||
module.directive('favicon', function() {
|
||||
var tpl = '<img ng-src="{{url}}" class="favicon"></img>';
|
||||
return {
|
||||
restrict : 'E',
|
||||
scope : {
|
||||
url : '='
|
||||
},
|
||||
replace : true,
|
||||
template : tpl
|
||||
};
|
||||
});
|
||||
module.directive("favicon", function () {
|
||||
var tpl = '<img ng-src="{{url}}" class="favicon"></img>'
|
||||
return {
|
||||
restrict: "E",
|
||||
scope: {
|
||||
url: "=",
|
||||
},
|
||||
replace: true,
|
||||
template: tpl,
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Support for the blur event
|
||||
*/
|
||||
module.directive('ngBlur', function() {
|
||||
return {
|
||||
restrict : 'A',
|
||||
link : function(scope, elm, attrs) {
|
||||
elm.bind('blur', function() {
|
||||
scope.$apply(attrs.ngBlur);
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
module.directive("ngBlur", function () {
|
||||
return {
|
||||
restrict: "A",
|
||||
link: function (scope, elm, attrs) {
|
||||
elm.bind("blur", function () {
|
||||
scope.$apply(attrs.ngBlur)
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Prevent mousewheel scrolling from propagating to the parent when scrollbar
|
||||
* reaches top or bottom
|
||||
*/
|
||||
module.directive('mousewheelScrolling', function() {
|
||||
return {
|
||||
restrict : 'A',
|
||||
link : function(scope, elem, attr) {
|
||||
elem.bind('mousewheel', function(e, d) {
|
||||
var t = $(this);
|
||||
if (d > 0 && t.scrollTop() === 0) {
|
||||
e.preventDefault();
|
||||
} else {
|
||||
if (d < 0 && (t.scrollTop() == t.get(0).scrollHeight - t.innerHeight())) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
module.directive("mousewheelScrolling", function () {
|
||||
return {
|
||||
restrict: "A",
|
||||
link: function (scope, elem, attr) {
|
||||
elem.bind("mousewheel", function (e, d) {
|
||||
var t = $(this)
|
||||
if (d > 0 && t.scrollTop() === 0) {
|
||||
e.preventDefault()
|
||||
} else {
|
||||
if (d < 0 && t.scrollTop() == t.get(0).scrollHeight - t.innerHeight()) {
|
||||
e.preventDefault()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Needed to use recursive directives. Wrap a recursive element with a
|
||||
* <recursive> tag
|
||||
*/
|
||||
module.directive('recursive', ['$compile', function($compile) {
|
||||
return {
|
||||
restrict : 'E',
|
||||
priority : 100000,
|
||||
compile : function(tElement, tAttr) {
|
||||
var contents = tElement.contents().remove();
|
||||
var compiledContents = null;
|
||||
return function(scope, iElement, iAttr) {
|
||||
if (!compiledContents) {
|
||||
compiledContents = $compile(contents);
|
||||
}
|
||||
iElement.append(compiledContents(scope, function(clone) {
|
||||
return clone;
|
||||
}));
|
||||
};
|
||||
}
|
||||
};
|
||||
}]);
|
||||
module.directive("recursive", [
|
||||
"$compile",
|
||||
function ($compile) {
|
||||
return {
|
||||
restrict: "E",
|
||||
priority: 100000,
|
||||
compile: function (tElement, tAttr) {
|
||||
var contents = tElement.contents().remove()
|
||||
var compiledContents = null
|
||||
return function (scope, iElement, iAttr) {
|
||||
if (!compiledContents) {
|
||||
compiledContents = $compile(contents)
|
||||
}
|
||||
iElement.append(
|
||||
compiledContents(scope, function (clone) {
|
||||
return clone
|
||||
})
|
||||
)
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
/**
|
||||
* Reusable category component
|
||||
*/
|
||||
module.directive('category', [function() {
|
||||
return {
|
||||
scope : {
|
||||
node : '=',
|
||||
level : '=',
|
||||
selectedType : '=',
|
||||
selectedId : '=',
|
||||
showLabel : '=',
|
||||
showChildren : '=',
|
||||
unreadCount : '&',
|
||||
tag : '='
|
||||
},
|
||||
restrict : 'E',
|
||||
replace : true,
|
||||
templateUrl : 'templates/_category.html',
|
||||
controller : ['$scope', '$state', 'FeedService', 'CategoryService', 'SettingsService', 'MobileService',
|
||||
function($scope, $state, FeedService, CategoryService, SettingsService, MobileService) {
|
||||
$scope.settingsService = SettingsService;
|
||||
module.directive("category", [
|
||||
function () {
|
||||
return {
|
||||
scope: {
|
||||
node: "=",
|
||||
level: "=",
|
||||
selectedType: "=",
|
||||
selectedId: "=",
|
||||
showLabel: "=",
|
||||
showChildren: "=",
|
||||
unreadCount: "&",
|
||||
tag: "=",
|
||||
},
|
||||
restrict: "E",
|
||||
replace: true,
|
||||
templateUrl: "templates/_category.html",
|
||||
controller: [
|
||||
"$scope",
|
||||
"$state",
|
||||
"FeedService",
|
||||
"CategoryService",
|
||||
"SettingsService",
|
||||
"MobileService",
|
||||
function ($scope, $state, FeedService, CategoryService, SettingsService, MobileService) {
|
||||
$scope.settingsService = SettingsService
|
||||
|
||||
$scope.getClass = function(level) {
|
||||
if ($scope.showLabel) {
|
||||
return 'indent' + level;
|
||||
}
|
||||
};
|
||||
$scope.getClass = function (level) {
|
||||
if ($scope.showLabel) {
|
||||
return "indent" + level
|
||||
}
|
||||
}
|
||||
|
||||
$scope.categoryLabel = function(category) {
|
||||
return $scope.showLabel !== true ? $scope.showLabel : category.name;
|
||||
};
|
||||
$scope.categoryLabel = function (category) {
|
||||
return $scope.showLabel !== true ? $scope.showLabel : category.name
|
||||
}
|
||||
|
||||
$scope.categoryCountLabel = function(category) {
|
||||
var count = $scope.unreadCount({
|
||||
category : category
|
||||
});
|
||||
var label = '';
|
||||
if (count > 0) {
|
||||
label += count;
|
||||
}
|
||||
return label;
|
||||
};
|
||||
$scope.categoryCountLabel = function (category) {
|
||||
var count = $scope.unreadCount({
|
||||
category: category,
|
||||
})
|
||||
var label = ""
|
||||
if (count > 0) {
|
||||
label += count
|
||||
}
|
||||
return label
|
||||
}
|
||||
|
||||
$scope.feedCountLabel = function(feed) {
|
||||
var label = '';
|
||||
if (feed.unread > 0) {
|
||||
label += feed.unread;
|
||||
}
|
||||
return label;
|
||||
};
|
||||
$scope.feedCountLabel = function (feed) {
|
||||
var label = ""
|
||||
if (feed.unread > 0) {
|
||||
label += feed.unread
|
||||
}
|
||||
return label
|
||||
}
|
||||
|
||||
$scope.feedClicked = function(id, event) {
|
||||
// Could be called by a middle click
|
||||
if (!event || (!event.ctrlKey && event.which == 1)) {
|
||||
MobileService.toggleLeftMenu();
|
||||
if ($scope.selectedType == 'feed' && id == $scope.selectedId) {
|
||||
$scope.$emit('emitReload');
|
||||
} else {
|
||||
$state.transitionTo('feeds.view', {
|
||||
_type : 'feed',
|
||||
_id : id
|
||||
});
|
||||
}
|
||||
$scope.feedClicked = function (id, event) {
|
||||
// Could be called by a middle click
|
||||
if (!event || (!event.ctrlKey && event.which == 1)) {
|
||||
MobileService.toggleLeftMenu()
|
||||
if ($scope.selectedType == "feed" && id == $scope.selectedId) {
|
||||
$scope.$emit("emitReload")
|
||||
} else {
|
||||
$state.transitionTo("feeds.view", {
|
||||
_type: "feed",
|
||||
_id: id,
|
||||
})
|
||||
}
|
||||
|
||||
if (event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
};
|
||||
if (event) {
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$scope.categoryClicked = function(id, isTag) {
|
||||
MobileService.toggleLeftMenu();
|
||||
var type = isTag ? 'tag' : 'category';
|
||||
if ($scope.selectedType == type && id == $scope.selectedId) {
|
||||
$scope.$emit('emitReload');
|
||||
} else {
|
||||
$state.transitionTo('feeds.view', {
|
||||
_type : type,
|
||||
_id : id
|
||||
});
|
||||
}
|
||||
};
|
||||
$scope.categoryClicked = function (id, isTag) {
|
||||
MobileService.toggleLeftMenu()
|
||||
var type = isTag ? "tag" : "category"
|
||||
if ($scope.selectedType == type && id == $scope.selectedId) {
|
||||
$scope.$emit("emitReload")
|
||||
} else {
|
||||
$state.transitionTo("feeds.view", {
|
||||
_type: type,
|
||||
_id: id,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
$scope.showFeedDetails = function(feed) {
|
||||
$state.transitionTo('feeds.feed_details', {
|
||||
_id : feed.id
|
||||
});
|
||||
};
|
||||
$scope.showFeedDetails = function (feed) {
|
||||
$state.transitionTo("feeds.feed_details", {
|
||||
_id: feed.id,
|
||||
})
|
||||
}
|
||||
|
||||
$scope.showCategoryDetails = function(id, isTag) {
|
||||
if (isTag) {
|
||||
$state.transitionTo('feeds.tag_details', {
|
||||
_id : id
|
||||
});
|
||||
} else {
|
||||
$state.transitionTo('feeds.category_details', {
|
||||
_id : id
|
||||
});
|
||||
}
|
||||
};
|
||||
$scope.showCategoryDetails = function (id, isTag) {
|
||||
if (isTag) {
|
||||
$state.transitionTo("feeds.tag_details", {
|
||||
_id: id,
|
||||
})
|
||||
} else {
|
||||
$state.transitionTo("feeds.category_details", {
|
||||
_id: id,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
$scope.toggleCategory = function(category, event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
category.expanded = !category.expanded;
|
||||
if (category.id == 'all') {
|
||||
return;
|
||||
}
|
||||
CategoryService.collapse({
|
||||
id : category.id,
|
||||
collapse : !category.expanded
|
||||
});
|
||||
};
|
||||
}]
|
||||
};
|
||||
}]);
|
||||
$scope.toggleCategory = function (category, event) {
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
category.expanded = !category.expanded
|
||||
if (category.id == "all") {
|
||||
return
|
||||
}
|
||||
CategoryService.collapse({
|
||||
id: category.id,
|
||||
collapse: !category.expanded,
|
||||
})
|
||||
}
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
module.directive('draggable', function() {
|
||||
return {
|
||||
restrict : 'A',
|
||||
link : function(scope, element, attrs) {
|
||||
element.draggable({
|
||||
revert : 'invalid',
|
||||
helper : 'clone',
|
||||
distance : 10,
|
||||
axis : 'y'
|
||||
}).data('source', scope.$eval(attrs.draggable));
|
||||
}
|
||||
};
|
||||
});
|
||||
module.directive("draggable", function () {
|
||||
return {
|
||||
restrict: "A",
|
||||
link: function (scope, element, attrs) {
|
||||
element
|
||||
.draggable({
|
||||
revert: "invalid",
|
||||
helper: "clone",
|
||||
distance: 10,
|
||||
axis: "y",
|
||||
})
|
||||
.data("source", scope.$eval(attrs.draggable))
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
module.directive('droppable', ['CategoryService', 'FeedService', function(CategoryService, FeedService) {
|
||||
return {
|
||||
restrict : 'A',
|
||||
link : function(scope, element, attrs) {
|
||||
element.droppable({
|
||||
tolerance : 'pointer',
|
||||
over : function(event, ui) {
|
||||
module.directive("droppable", [
|
||||
"CategoryService",
|
||||
"FeedService",
|
||||
function (CategoryService, FeedService) {
|
||||
return {
|
||||
restrict: "A",
|
||||
link: function (scope, element, attrs) {
|
||||
element.droppable({
|
||||
tolerance: "pointer",
|
||||
over: function (event, ui) {},
|
||||
drop: function (event, ui) {
|
||||
var draggable = angular.element(ui.draggable)
|
||||
|
||||
},
|
||||
drop : function(event, ui) {
|
||||
var draggable = angular.element(ui.draggable);
|
||||
var source = draggable.data("source")
|
||||
var target = scope.$eval(attrs.droppable)
|
||||
|
||||
var source = draggable.data('source');
|
||||
var target = scope.$eval(attrs.droppable);
|
||||
if (angular.equals(source, target)) {
|
||||
return
|
||||
}
|
||||
|
||||
if (angular.equals(source, target)) {
|
||||
return;
|
||||
}
|
||||
var data = {
|
||||
id: source.id,
|
||||
name: source.name,
|
||||
filter: source.filter,
|
||||
}
|
||||
|
||||
var data = {
|
||||
id : source.id,
|
||||
name : source.name,
|
||||
filter : source.filter
|
||||
};
|
||||
if (source.children) {
|
||||
// source is a category
|
||||
} else {
|
||||
// source is a feed
|
||||
|
||||
if (source.children) {
|
||||
// source is a category
|
||||
if (target.children) {
|
||||
// target is a category
|
||||
data.categoryId = target.id
|
||||
data.position = 0
|
||||
} else {
|
||||
// target is a feed
|
||||
data.categoryId = target.categoryId
|
||||
data.position = target.position
|
||||
}
|
||||
|
||||
} else {
|
||||
// source is a feed
|
||||
FeedService.modify(data, function () {
|
||||
CategoryService.init()
|
||||
})
|
||||
}
|
||||
scope.$apply()
|
||||
},
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
if (target.children) {
|
||||
// target is a category
|
||||
data.categoryId = target.id;
|
||||
data.position = 0;
|
||||
} else {
|
||||
// target is a feed
|
||||
data.categoryId = target.categoryId;
|
||||
data.position = target.position;
|
||||
}
|
||||
module.directive("metricMeter", function () {
|
||||
return {
|
||||
scope: {
|
||||
metric: "=",
|
||||
label: "=",
|
||||
},
|
||||
restrict: "E",
|
||||
templateUrl: "templates/_metrics.meter.html",
|
||||
}
|
||||
})
|
||||
|
||||
FeedService.modify(data, function() {
|
||||
CategoryService.init();
|
||||
});
|
||||
}
|
||||
scope.$apply();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
}]);
|
||||
module.directive("metricGauge", function () {
|
||||
return {
|
||||
scope: {
|
||||
metric: "=",
|
||||
label: "=",
|
||||
},
|
||||
restrict: "E",
|
||||
templateUrl: "templates/_metrics.gauge.html",
|
||||
}
|
||||
})
|
||||
|
||||
module.directive('metricMeter', function() {
|
||||
return {
|
||||
scope : {
|
||||
metric : '=',
|
||||
label : '='
|
||||
},
|
||||
restrict : 'E',
|
||||
templateUrl : 'templates/_metrics.meter.html'
|
||||
};
|
||||
});
|
||||
|
||||
module.directive('metricGauge', function() {
|
||||
return {
|
||||
scope : {
|
||||
metric : '=',
|
||||
label : '='
|
||||
},
|
||||
restrict : 'E',
|
||||
templateUrl : 'templates/_metrics.gauge.html'
|
||||
};
|
||||
});
|
||||
|
||||
module.directive('metricTimer', function() {
|
||||
return {
|
||||
scope : {
|
||||
metric : '=',
|
||||
label : '='
|
||||
},
|
||||
restrict : 'E',
|
||||
templateUrl : 'templates/_metrics.timer.html'
|
||||
};
|
||||
});
|
||||
module.directive("metricTimer", function () {
|
||||
return {
|
||||
scope: {
|
||||
metric: "=",
|
||||
label: "=",
|
||||
},
|
||||
restrict: "E",
|
||||
templateUrl: "templates/_metrics.timer.html",
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,113 +1,119 @@
|
||||
var module = angular.module('commafeed.filters', []);
|
||||
var module = angular.module("commafeed.filters", [])
|
||||
|
||||
/**
|
||||
* smart date formatter
|
||||
*/
|
||||
module.filter('entryDate', function() {
|
||||
return function(timestamp, defaultValue) {
|
||||
if (!timestamp) {
|
||||
return defaultValue;
|
||||
}
|
||||
module.filter("entryDate", function () {
|
||||
return function (timestamp, defaultValue) {
|
||||
if (!timestamp) {
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
var d = moment(timestamp);
|
||||
var now = moment();
|
||||
var formatted;
|
||||
if (Math.abs(d.diff(now)) < 86400000) {
|
||||
formatted = d.fromNow();
|
||||
} else {
|
||||
formatted = d.format('YYYY-MM-DD HH:mm');
|
||||
}
|
||||
return formatted;
|
||||
};
|
||||
});
|
||||
var d = moment(timestamp)
|
||||
var now = moment()
|
||||
var formatted
|
||||
if (Math.abs(d.diff(now)) < 86400000) {
|
||||
formatted = d.fromNow()
|
||||
} else {
|
||||
formatted = d.format("YYYY-MM-DD HH:mm")
|
||||
}
|
||||
return formatted
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* rewrites iframes to use https if commafeed uses https
|
||||
*/
|
||||
module.filter('iframeHttpsRewrite', function() {
|
||||
return function(html) {
|
||||
var result = html;
|
||||
if (location.protocol === 'https:') {
|
||||
var wrapper = $('<div></div>').html(html);
|
||||
$('iframe', wrapper).each(function(i, elem) {
|
||||
var e = $(elem);
|
||||
e.attr('src', e.attr('src').replace(/^http:\/\//i, 'https://'));
|
||||
});
|
||||
result = wrapper.html();
|
||||
}
|
||||
return result;
|
||||
};
|
||||
});
|
||||
module.filter("iframeHttpsRewrite", function () {
|
||||
return function (html) {
|
||||
var result = html
|
||||
if (location.protocol === "https:") {
|
||||
var wrapper = $("<div></div>").html(html)
|
||||
$("iframe", wrapper).each(function (i, elem) {
|
||||
var e = $(elem)
|
||||
e.attr("src", e.attr("src").replace(/^http:\/\//i, "https://"))
|
||||
})
|
||||
result = wrapper.html()
|
||||
}
|
||||
return result
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* inserts title or alt-text after images, if any
|
||||
*/
|
||||
module.filter('appendImageTitles', function() {
|
||||
return function(html) {
|
||||
var result = html;
|
||||
var wrapper = $('<div></div>').html(html);
|
||||
$('img', wrapper).each(function(i, elem) {
|
||||
var e = $(elem);
|
||||
var title = e.attr('title') || e.attr('alt');
|
||||
if (title) {
|
||||
var text = $('<span style="font-style: italic;"></span>').text(title);
|
||||
e.after(text);
|
||||
}
|
||||
});
|
||||
result = wrapper.html();
|
||||
return result;
|
||||
};
|
||||
});
|
||||
module.filter("appendImageTitles", function () {
|
||||
return function (html) {
|
||||
var result = html
|
||||
var wrapper = $("<div></div>").html(html)
|
||||
$("img", wrapper).each(function (i, elem) {
|
||||
var e = $(elem)
|
||||
var title = e.attr("title") || e.attr("alt")
|
||||
if (title) {
|
||||
var text = $('<span style="font-style: italic;"></span>').text(title)
|
||||
e.after(text)
|
||||
}
|
||||
})
|
||||
result = wrapper.html()
|
||||
return result
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* escapes the url
|
||||
*/
|
||||
module.filter('escape', function() {
|
||||
return encodeURIComponent;
|
||||
});
|
||||
module.filter("escape", function () {
|
||||
return encodeURIComponent
|
||||
})
|
||||
|
||||
/**
|
||||
* returns a trusted html content
|
||||
*/
|
||||
module.filter('trustHtml', ['$sce', function($sce) {
|
||||
return function(val) {
|
||||
return $sce.trustAsHtml(val);
|
||||
};
|
||||
}]);
|
||||
module.filter("trustHtml", [
|
||||
"$sce",
|
||||
function ($sce) {
|
||||
return function (val) {
|
||||
return $sce.trustAsHtml(val)
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
/**
|
||||
* returns a trusted url
|
||||
*/
|
||||
module.filter('trustUrl', ['$sce', function($sce) {
|
||||
return function(val) {
|
||||
return $sce.trustAsResourceUrl(val);
|
||||
};
|
||||
}]);
|
||||
module.filter("trustUrl", [
|
||||
"$sce",
|
||||
function ($sce) {
|
||||
return function (val) {
|
||||
return $sce.trustAsResourceUrl(val)
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
/**
|
||||
* add the 'highlight-search' class to text matching keywords
|
||||
*/
|
||||
module.filter('highlight', function() {
|
||||
return function(html, keywords) {
|
||||
if (keywords) {
|
||||
var handleKeyword = function(token, html) {
|
||||
var expr = new RegExp(token, 'gi');
|
||||
var container = $('<span>').html(html);
|
||||
var elements = container.find('*').addBack();
|
||||
var textNodes = elements.not('iframe').contents().not(elements);
|
||||
textNodes.each(function() {
|
||||
var replaced = this.nodeValue.replace(expr, '<span class="highlight-search">$&</span>');
|
||||
$('<span>').html(replaced).insertBefore(this);
|
||||
$(this).remove();
|
||||
});
|
||||
return container.html();
|
||||
};
|
||||
module.filter("highlight", function () {
|
||||
return function (html, keywords) {
|
||||
if (keywords) {
|
||||
var handleKeyword = function (token, html) {
|
||||
var expr = new RegExp(token, "gi")
|
||||
var container = $("<span>").html(html)
|
||||
var elements = container.find("*").addBack()
|
||||
var textNodes = elements.not("iframe").contents().not(elements)
|
||||
textNodes.each(function () {
|
||||
var replaced = this.nodeValue.replace(expr, '<span class="highlight-search">$&</span>')
|
||||
$("<span>").html(replaced).insertBefore(this)
|
||||
$(this).remove()
|
||||
})
|
||||
return container.html()
|
||||
}
|
||||
|
||||
var tokens = keywords.split(' ');
|
||||
for (var i = 0; i < tokens.length; i++) {
|
||||
html = handleKeyword(tokens[i], html);
|
||||
}
|
||||
}
|
||||
return html;
|
||||
};
|
||||
});
|
||||
var tokens = keywords.split(" ")
|
||||
for (var i = 0; i < tokens.length; i++) {
|
||||
html = handleKeyword(tokens[i], html)
|
||||
}
|
||||
}
|
||||
return html
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,35 +1,37 @@
|
||||
var module = angular.module('commafeed.i18n', []);
|
||||
var module = angular.module("commafeed.i18n", [])
|
||||
|
||||
module.service('LangService', [function() {
|
||||
this.langs = {
|
||||
'ar': 'العربية',
|
||||
'ca': 'Català',
|
||||
'en': 'English',
|
||||
'es': 'Español',
|
||||
'de': 'Deutsch',
|
||||
'fa': 'فارسی',
|
||||
'fr': 'Français',
|
||||
'gl': 'Galician',
|
||||
'glk': 'گیلکی',
|
||||
'hu': 'Magyar',
|
||||
'id': 'Indonesian',
|
||||
'ja': '日本語',
|
||||
'ko': '한국어',
|
||||
'nl': 'Nederlands',
|
||||
'nb': 'Norsk (bokmål)',
|
||||
'nn': 'Norsk (nynorsk)',
|
||||
'pt': 'Português',
|
||||
'pl': 'Polski',
|
||||
'ru': 'Русский',
|
||||
'fi': 'Suomi',
|
||||
'sv': 'Svenska',
|
||||
'zh': '简体中文',
|
||||
'it': 'Italiano',
|
||||
'tr': 'Türkçe',
|
||||
'cy': 'Cymraeg',
|
||||
'sk': 'Slovenčina',
|
||||
'da': 'Danish',
|
||||
'cs': 'Čeština',
|
||||
'ms': 'Bahasa Malaysian'
|
||||
}
|
||||
}]);
|
||||
module.service("LangService", [
|
||||
function () {
|
||||
this.langs = {
|
||||
ar: "العربية",
|
||||
ca: "Català",
|
||||
en: "English",
|
||||
es: "Español",
|
||||
de: "Deutsch",
|
||||
fa: "فارسی",
|
||||
fr: "Français",
|
||||
gl: "Galician",
|
||||
glk: "گیلکی",
|
||||
hu: "Magyar",
|
||||
id: "Indonesian",
|
||||
ja: "日本語",
|
||||
ko: "한국어",
|
||||
nl: "Nederlands",
|
||||
nb: "Norsk (bokmål)",
|
||||
nn: "Norsk (nynorsk)",
|
||||
pt: "Português",
|
||||
pl: "Polski",
|
||||
ru: "Русский",
|
||||
fi: "Suomi",
|
||||
sv: "Svenska",
|
||||
zh: "简体中文",
|
||||
it: "Italiano",
|
||||
tr: "Türkçe",
|
||||
cy: "Cymraeg",
|
||||
sk: "Slovenčina",
|
||||
da: "Danish",
|
||||
cs: "Čeština",
|
||||
ms: "Bahasa Malaysian",
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
@@ -1,145 +1,172 @@
|
||||
var app = angular.module('commafeed', ['ngRoute', 'ngTouch', 'ngAnimate', 'ui.utils', 'ui.bootstrap', 'ui.router', 'ui.select2',
|
||||
'commafeed.directives', 'commafeed.controllers', 'commafeed.services', 'commafeed.filters', 'commafeed.i18n', 'ngSanitize',
|
||||
'infinite-scroll', 'ngGrid', 'chieffancypants.loadingBar', 'pascalprecht.translate']);
|
||||
var app = angular.module("commafeed", [
|
||||
"ngRoute",
|
||||
"ngTouch",
|
||||
"ngAnimate",
|
||||
"ui.utils",
|
||||
"ui.bootstrap",
|
||||
"ui.router",
|
||||
"ui.select2",
|
||||
"commafeed.directives",
|
||||
"commafeed.controllers",
|
||||
"commafeed.services",
|
||||
"commafeed.filters",
|
||||
"commafeed.i18n",
|
||||
"ngSanitize",
|
||||
"infinite-scroll",
|
||||
"ngGrid",
|
||||
"chieffancypants.loadingBar",
|
||||
"pascalprecht.translate",
|
||||
])
|
||||
|
||||
app.config([
|
||||
'$routeProvider',
|
||||
'$stateProvider',
|
||||
'$urlRouterProvider',
|
||||
'$httpProvider',
|
||||
'$compileProvider',
|
||||
'cfpLoadingBarProvider',
|
||||
'$translateProvider',
|
||||
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider, cfpLoadingBarProvider,
|
||||
$translateProvider) {
|
||||
|
||||
$translateProvider.useStaticFilesLoader({
|
||||
prefix : 'i18n/',
|
||||
suffix : '.js'
|
||||
});
|
||||
$translateProvider.preferredLanguage('en');
|
||||
"$routeProvider",
|
||||
"$stateProvider",
|
||||
"$urlRouterProvider",
|
||||
"$httpProvider",
|
||||
"$compileProvider",
|
||||
"cfpLoadingBarProvider",
|
||||
"$translateProvider",
|
||||
function (
|
||||
$routeProvider,
|
||||
$stateProvider,
|
||||
$urlRouterProvider,
|
||||
$httpProvider,
|
||||
$compileProvider,
|
||||
cfpLoadingBarProvider,
|
||||
$translateProvider
|
||||
) {
|
||||
$translateProvider.useStaticFilesLoader({
|
||||
prefix: "i18n/",
|
||||
suffix: ".js",
|
||||
})
|
||||
$translateProvider.preferredLanguage("en")
|
||||
|
||||
cfpLoadingBarProvider.includeSpinner = false;
|
||||
cfpLoadingBarProvider.includeSpinner = false
|
||||
|
||||
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/);
|
||||
var interceptor = ['$rootScope', '$q', '$injector', function(scope, $q, $injector) {
|
||||
var f = {};
|
||||
|
||||
f.response = function(response) {
|
||||
return response;
|
||||
};
|
||||
|
||||
f.responseError = function(response) {
|
||||
var status = response.status;
|
||||
if (status == 401) {
|
||||
$injector.get('$state').transitionTo('welcome');
|
||||
}
|
||||
return $q.reject(response);
|
||||
};
|
||||
return f;
|
||||
}];
|
||||
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/)
|
||||
var interceptor = [
|
||||
"$rootScope",
|
||||
"$q",
|
||||
"$injector",
|
||||
function (scope, $q, $injector) {
|
||||
var f = {}
|
||||
|
||||
$httpProvider.interceptors.push(interceptor);
|
||||
f.response = function (response) {
|
||||
return response
|
||||
}
|
||||
|
||||
$stateProvider.state('feeds', {
|
||||
'abstract' : true,
|
||||
url : '/feeds',
|
||||
templateUrl : 'templates/feeds.html'
|
||||
});
|
||||
$stateProvider.state('feeds.view', {
|
||||
url : '/view/:_type/:_id',
|
||||
templateUrl : 'templates/feeds.view.html',
|
||||
controller : 'FeedListCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.subscribe', {
|
||||
url : '/subscribe',
|
||||
templateUrl : 'templates/feeds.subscribe.html',
|
||||
controller : 'SubscribeCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.new_category', {
|
||||
url : '/add_category',
|
||||
templateUrl : 'templates/feeds.new_category.html',
|
||||
controller : 'NewCategoryCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.import', {
|
||||
url : '/import',
|
||||
templateUrl : 'templates/feeds.import.html',
|
||||
controller : 'ImportCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.search', {
|
||||
url : '/search/:_keywords',
|
||||
templateUrl : 'templates/feeds.view.html',
|
||||
controller : 'FeedListCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.feed_details', {
|
||||
url : '/details/feed/:_id',
|
||||
templateUrl : 'templates/feeds.feed_details.html',
|
||||
controller : 'FeedDetailsCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.category_details', {
|
||||
url : '/details/category/:_id',
|
||||
templateUrl : 'templates/feeds.category_details.html',
|
||||
controller : 'CategoryDetailsCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.tag_details', {
|
||||
url : '/details/tag/:_id',
|
||||
templateUrl : 'templates/feeds.tag_details.html',
|
||||
controller : 'TagDetailsCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.help', {
|
||||
url : '/help',
|
||||
templateUrl : 'templates/feeds.help.html',
|
||||
controller : 'HelpController'
|
||||
});
|
||||
$stateProvider.state('feeds.settings', {
|
||||
url : '/settings',
|
||||
templateUrl : 'templates/settings.html',
|
||||
controller : 'SettingsCtrl'
|
||||
});
|
||||
$stateProvider.state('feeds.profile', {
|
||||
url : '/profile',
|
||||
templateUrl : 'templates/profile.html',
|
||||
controller : 'ProfileCtrl'
|
||||
});
|
||||
f.responseError = function (response) {
|
||||
var status = response.status
|
||||
if (status == 401) {
|
||||
$injector.get("$state").transitionTo("welcome")
|
||||
}
|
||||
return $q.reject(response)
|
||||
}
|
||||
return f
|
||||
},
|
||||
]
|
||||
|
||||
$stateProvider.state('admin', {
|
||||
'abstract' : true,
|
||||
url : '/admin',
|
||||
templateUrl : 'templates/admin.html'
|
||||
});
|
||||
$stateProvider.state('admin.userlist', {
|
||||
url : '/user/list',
|
||||
templateUrl : 'templates/admin.userlist.html',
|
||||
controller : 'ManageUsersCtrl'
|
||||
});
|
||||
$stateProvider.state('admin.useradd', {
|
||||
url : '/user/add',
|
||||
templateUrl : 'templates/admin.useradd.html',
|
||||
controller : 'ManageUserCtrl'
|
||||
});
|
||||
$stateProvider.state('admin.useredit', {
|
||||
url : '/user/edit/:_id',
|
||||
templateUrl : 'templates/admin.useredit.html',
|
||||
controller : 'ManageUserCtrl'
|
||||
});
|
||||
$stateProvider.state('admin.settings', {
|
||||
url : '/settings',
|
||||
templateUrl : 'templates/admin.settings.html',
|
||||
controller : 'ManageSettingsCtrl'
|
||||
});
|
||||
$stateProvider.state('admin.metrics', {
|
||||
url : '/metrics',
|
||||
templateUrl : 'templates/admin.metrics.html',
|
||||
controller : 'MetricsCtrl'
|
||||
});
|
||||
$httpProvider.interceptors.push(interceptor)
|
||||
|
||||
$stateProvider.state('welcome', {
|
||||
url : '/welcome',
|
||||
templateUrl : 'templates/welcome.html'
|
||||
});
|
||||
$stateProvider.state("feeds", {
|
||||
abstract: true,
|
||||
url: "/feeds",
|
||||
templateUrl: "templates/feeds.html",
|
||||
})
|
||||
$stateProvider.state("feeds.view", {
|
||||
url: "/view/:_type/:_id",
|
||||
templateUrl: "templates/feeds.view.html",
|
||||
controller: "FeedListCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.subscribe", {
|
||||
url: "/subscribe",
|
||||
templateUrl: "templates/feeds.subscribe.html",
|
||||
controller: "SubscribeCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.new_category", {
|
||||
url: "/add_category",
|
||||
templateUrl: "templates/feeds.new_category.html",
|
||||
controller: "NewCategoryCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.import", {
|
||||
url: "/import",
|
||||
templateUrl: "templates/feeds.import.html",
|
||||
controller: "ImportCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.search", {
|
||||
url: "/search/:_keywords",
|
||||
templateUrl: "templates/feeds.view.html",
|
||||
controller: "FeedListCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.feed_details", {
|
||||
url: "/details/feed/:_id",
|
||||
templateUrl: "templates/feeds.feed_details.html",
|
||||
controller: "FeedDetailsCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.category_details", {
|
||||
url: "/details/category/:_id",
|
||||
templateUrl: "templates/feeds.category_details.html",
|
||||
controller: "CategoryDetailsCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.tag_details", {
|
||||
url: "/details/tag/:_id",
|
||||
templateUrl: "templates/feeds.tag_details.html",
|
||||
controller: "TagDetailsCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.help", {
|
||||
url: "/help",
|
||||
templateUrl: "templates/feeds.help.html",
|
||||
controller: "HelpController",
|
||||
})
|
||||
$stateProvider.state("feeds.settings", {
|
||||
url: "/settings",
|
||||
templateUrl: "templates/settings.html",
|
||||
controller: "SettingsCtrl",
|
||||
})
|
||||
$stateProvider.state("feeds.profile", {
|
||||
url: "/profile",
|
||||
templateUrl: "templates/profile.html",
|
||||
controller: "ProfileCtrl",
|
||||
})
|
||||
|
||||
$urlRouterProvider.when('/', '/feeds/view/category/all');
|
||||
$urlRouterProvider.when('/admin', '/admin/settings');
|
||||
$urlRouterProvider.otherwise('/');
|
||||
$stateProvider.state("admin", {
|
||||
abstract: true,
|
||||
url: "/admin",
|
||||
templateUrl: "templates/admin.html",
|
||||
})
|
||||
$stateProvider.state("admin.userlist", {
|
||||
url: "/user/list",
|
||||
templateUrl: "templates/admin.userlist.html",
|
||||
controller: "ManageUsersCtrl",
|
||||
})
|
||||
$stateProvider.state("admin.useradd", {
|
||||
url: "/user/add",
|
||||
templateUrl: "templates/admin.useradd.html",
|
||||
controller: "ManageUserCtrl",
|
||||
})
|
||||
$stateProvider.state("admin.useredit", {
|
||||
url: "/user/edit/:_id",
|
||||
templateUrl: "templates/admin.useredit.html",
|
||||
controller: "ManageUserCtrl",
|
||||
})
|
||||
$stateProvider.state("admin.settings", {
|
||||
url: "/settings",
|
||||
templateUrl: "templates/admin.settings.html",
|
||||
controller: "ManageSettingsCtrl",
|
||||
})
|
||||
$stateProvider.state("admin.metrics", {
|
||||
url: "/metrics",
|
||||
templateUrl: "templates/admin.metrics.html",
|
||||
controller: "MetricsCtrl",
|
||||
})
|
||||
|
||||
}]);
|
||||
$stateProvider.state("welcome", {
|
||||
url: "/welcome",
|
||||
templateUrl: "templates/welcome.html",
|
||||
})
|
||||
|
||||
$urlRouterProvider.when("/", "/feeds/view/category/all")
|
||||
$urlRouterProvider.when("/admin", "/admin/settings")
|
||||
$urlRouterProvider.otherwise("/")
|
||||
},
|
||||
])
|
||||
|
||||
@@ -1,336 +1,375 @@
|
||||
var module = angular.module('commafeed.services', ['ngResource']);
|
||||
var module = angular.module("commafeed.services", ["ngResource"])
|
||||
|
||||
module.service('AnalyticsService', ['$state', function($state) {
|
||||
this.track = function(path) {
|
||||
if (typeof ga === 'undefined') {
|
||||
return;
|
||||
}
|
||||
path = path || $state.$current.url.prefix;
|
||||
ga('send', 'pageview', {
|
||||
page : path
|
||||
});
|
||||
};
|
||||
}]);
|
||||
module.service("AnalyticsService", [
|
||||
"$state",
|
||||
function ($state) {
|
||||
this.track = function (path) {
|
||||
if (typeof ga === "undefined") {
|
||||
return
|
||||
}
|
||||
path = path || $state.$current.url.prefix
|
||||
ga("send", "pageview", {
|
||||
page: path,
|
||||
})
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
module.service('MobileService', ['$state', function($state) {
|
||||
this.leftMenu = false;
|
||||
this.rightMenu = false;
|
||||
this.toggleLeftMenu = function() {
|
||||
this.leftMenu = !this.leftMenu;
|
||||
$('body').toggleClass('left-menu-active');
|
||||
};
|
||||
this.toggleRightMenu = function() {
|
||||
this.rightMenu = !this.rightMenu;
|
||||
$('body').toggleClass('right-menu-active');
|
||||
};
|
||||
this.mobile = device.mobile() || device.tablet();
|
||||
}]);
|
||||
module.service("MobileService", [
|
||||
"$state",
|
||||
function ($state) {
|
||||
this.leftMenu = false
|
||||
this.rightMenu = false
|
||||
this.toggleLeftMenu = function () {
|
||||
this.leftMenu = !this.leftMenu
|
||||
$("body").toggleClass("left-menu-active")
|
||||
}
|
||||
this.toggleRightMenu = function () {
|
||||
this.rightMenu = !this.rightMenu
|
||||
$("body").toggleClass("right-menu-active")
|
||||
}
|
||||
this.mobile = device.mobile() || device.tablet()
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('ProfileService', ['$resource', function($resource) {
|
||||
var res = $resource('rest/user/profile/');
|
||||
res.deleteAccount = $resource('rest/user/profile/deleteAccount').save;
|
||||
return res;
|
||||
}]);
|
||||
module.factory("ProfileService", [
|
||||
"$resource",
|
||||
function ($resource) {
|
||||
var res = $resource("rest/user/profile/")
|
||||
res.deleteAccount = $resource("rest/user/profile/deleteAccount").save
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('SessionService', ['$resource', function($resource) {
|
||||
var res = {};
|
||||
res.login = $resource('rest/user/login').save;
|
||||
res.register = $resource('rest/user/register').save;
|
||||
res.passwordReset = $resource('rest/user/passwordReset').save;
|
||||
return res;
|
||||
}]);
|
||||
module.factory("SessionService", [
|
||||
"$resource",
|
||||
function ($resource) {
|
||||
var res = {}
|
||||
res.login = $resource("rest/user/login").save
|
||||
res.register = $resource("rest/user/register").save
|
||||
res.passwordReset = $resource("rest/user/passwordReset").save
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('SettingsService', ['$resource', '$translate', function($resource, $translate) {
|
||||
var res = $resource('rest/user/settings');
|
||||
module.factory("SettingsService", [
|
||||
"$resource",
|
||||
"$translate",
|
||||
function ($resource, $translate) {
|
||||
var res = $resource("rest/user/settings")
|
||||
|
||||
var s = {};
|
||||
s.settings = {};
|
||||
s.save = function(callback) {
|
||||
res.save(s.settings, function(data) {
|
||||
if (callback) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
};
|
||||
s.init = function(callback) {
|
||||
res.get(function(data) {
|
||||
s.settings = data;
|
||||
var lang = s.settings.language || 'en';
|
||||
$translate.use(lang);
|
||||
if (lang === 'zh') {
|
||||
lang = 'zh-cn';
|
||||
} else if (lang === 'ms') {
|
||||
lang = 'ms-my';
|
||||
}
|
||||
moment.locale(lang, {});
|
||||
if (callback) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
};
|
||||
s.init();
|
||||
return s;
|
||||
}]);
|
||||
var s = {}
|
||||
s.settings = {}
|
||||
s.save = function (callback) {
|
||||
res.save(s.settings, function (data) {
|
||||
if (callback) {
|
||||
callback(data)
|
||||
}
|
||||
})
|
||||
}
|
||||
s.init = function (callback) {
|
||||
res.get(function (data) {
|
||||
s.settings = data
|
||||
var lang = s.settings.language || "en"
|
||||
$translate.use(lang)
|
||||
if (lang === "zh") {
|
||||
lang = "zh-cn"
|
||||
} else if (lang === "ms") {
|
||||
lang = "ms-my"
|
||||
}
|
||||
moment.locale(lang, {})
|
||||
if (callback) {
|
||||
callback(data)
|
||||
}
|
||||
})
|
||||
}
|
||||
s.init()
|
||||
return s
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('FeedService', ['$resource', '$http', function($resource, $http) {
|
||||
var actions = {
|
||||
entries : {
|
||||
method : 'GET',
|
||||
params : {
|
||||
_method : 'entries'
|
||||
}
|
||||
},
|
||||
fetch : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'fetch'
|
||||
}
|
||||
},
|
||||
mark : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'mark'
|
||||
}
|
||||
},
|
||||
refresh : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'refresh'
|
||||
}
|
||||
},
|
||||
refreshAll : {
|
||||
method : 'GET',
|
||||
params : {
|
||||
_method : 'refreshAll'
|
||||
}
|
||||
},
|
||||
subscribe : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'subscribe'
|
||||
}
|
||||
},
|
||||
unsubscribe : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'unsubscribe'
|
||||
}
|
||||
},
|
||||
modify : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'modify'
|
||||
}
|
||||
}
|
||||
};
|
||||
var res = $resource('rest/feed/:_method', {}, actions);
|
||||
res.get = $resource('rest/feed/get/:id').get;
|
||||
return res;
|
||||
}]);
|
||||
module.factory("FeedService", [
|
||||
"$resource",
|
||||
"$http",
|
||||
function ($resource, $http) {
|
||||
var actions = {
|
||||
entries: {
|
||||
method: "GET",
|
||||
params: {
|
||||
_method: "entries",
|
||||
},
|
||||
},
|
||||
fetch: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "fetch",
|
||||
},
|
||||
},
|
||||
mark: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "mark",
|
||||
},
|
||||
},
|
||||
refresh: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "refresh",
|
||||
},
|
||||
},
|
||||
refreshAll: {
|
||||
method: "GET",
|
||||
params: {
|
||||
_method: "refreshAll",
|
||||
},
|
||||
},
|
||||
subscribe: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "subscribe",
|
||||
},
|
||||
},
|
||||
unsubscribe: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "unsubscribe",
|
||||
},
|
||||
},
|
||||
modify: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "modify",
|
||||
},
|
||||
},
|
||||
}
|
||||
var res = $resource("rest/feed/:_method", {}, actions)
|
||||
res.get = $resource("rest/feed/get/:id").get
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('CategoryService', ['$resource', '$http', function($resource, $http) {
|
||||
module.factory("CategoryService", [
|
||||
"$resource",
|
||||
"$http",
|
||||
function ($resource, $http) {
|
||||
var traverse = function (callback, category, parentName) {
|
||||
callback(category, parentName)
|
||||
var children = category.children
|
||||
if (children) {
|
||||
for (var c = 0; c < children.length; c++) {
|
||||
traverse(callback, children[c], category.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var traverse = function(callback, category, parentName) {
|
||||
callback(category, parentName);
|
||||
var children = category.children;
|
||||
if (children) {
|
||||
for (var c = 0; c < children.length; c++) {
|
||||
traverse(callback, children[c], category.name);
|
||||
}
|
||||
}
|
||||
};
|
||||
// flatten categories
|
||||
var flatten = function (category) {
|
||||
var array = []
|
||||
var callback = function (category, parentName) {
|
||||
var name = category.name
|
||||
if (parentName) {
|
||||
name += " (in " + parentName + ")"
|
||||
}
|
||||
array.push({
|
||||
id: category.id,
|
||||
name: name,
|
||||
orig: category,
|
||||
})
|
||||
}
|
||||
traverse(callback, category)
|
||||
return array
|
||||
}
|
||||
|
||||
// flatten categories
|
||||
var flatten = function(category) {
|
||||
var array = [];
|
||||
var callback = function(category, parentName) {
|
||||
var name = category.name;
|
||||
if (parentName) {
|
||||
name += (' (in ' + parentName + ')');
|
||||
}
|
||||
array.push({
|
||||
id : category.id,
|
||||
name : name,
|
||||
orig : category
|
||||
});
|
||||
};
|
||||
traverse(callback, category);
|
||||
return array;
|
||||
};
|
||||
// flatten feeds
|
||||
var flatFeeds = function (category) {
|
||||
var subs = []
|
||||
var callback = function (category) {
|
||||
subs.push.apply(subs, category.feeds)
|
||||
}
|
||||
traverse(callback, category)
|
||||
return subs
|
||||
}
|
||||
|
||||
// flatten feeds
|
||||
var flatFeeds = function(category) {
|
||||
var subs = [];
|
||||
var callback = function(category) {
|
||||
subs.push.apply(subs, category.feeds);
|
||||
};
|
||||
traverse(callback, category);
|
||||
return subs;
|
||||
};
|
||||
// flatten everything
|
||||
var flatAll = function (category, a) {
|
||||
a.push([category.id, "category"])
|
||||
_.each(category.children, function (child) {
|
||||
flatAll(child, a)
|
||||
})
|
||||
_.each(category.feeds, function (feed) {
|
||||
a.push([feed.id, "feed"])
|
||||
})
|
||||
}
|
||||
|
||||
// flatten everything
|
||||
var flatAll = function(category, a) {
|
||||
a.push([category.id, 'category']);
|
||||
_.each(category.children, function(child) {
|
||||
flatAll(child, a);
|
||||
});
|
||||
_.each(category.feeds, function(feed) {
|
||||
a.push([feed.id, 'feed']);
|
||||
});
|
||||
};
|
||||
var actions = {
|
||||
get: {
|
||||
method: "GET",
|
||||
ignoreLoadingBar: true,
|
||||
params: {
|
||||
_method: "get",
|
||||
},
|
||||
},
|
||||
entries: {
|
||||
method: "GET",
|
||||
params: {
|
||||
_method: "entries",
|
||||
},
|
||||
},
|
||||
mark: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "mark",
|
||||
},
|
||||
},
|
||||
add: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "add",
|
||||
},
|
||||
},
|
||||
remove: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "delete",
|
||||
},
|
||||
},
|
||||
modify: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "modify",
|
||||
},
|
||||
},
|
||||
collapse: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "collapse",
|
||||
},
|
||||
},
|
||||
}
|
||||
var res = $resource("rest/category/:_method", {}, actions)
|
||||
res.subscriptions = {}
|
||||
res.flatCategories = {}
|
||||
res.feeds = []
|
||||
|
||||
var actions = {
|
||||
get : {
|
||||
method : 'GET',
|
||||
ignoreLoadingBar : true,
|
||||
params : {
|
||||
_method : 'get'
|
||||
}
|
||||
},
|
||||
entries : {
|
||||
method : 'GET',
|
||||
params : {
|
||||
_method : 'entries'
|
||||
}
|
||||
},
|
||||
mark : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'mark'
|
||||
}
|
||||
},
|
||||
add : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'add'
|
||||
}
|
||||
},
|
||||
remove : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'delete'
|
||||
}
|
||||
},
|
||||
modify : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'modify'
|
||||
}
|
||||
},
|
||||
collapse : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'collapse'
|
||||
}
|
||||
}
|
||||
};
|
||||
var res = $resource('rest/category/:_method', {}, actions);
|
||||
res.subscriptions = {};
|
||||
res.flatCategories = {};
|
||||
res.feeds = [];
|
||||
res.init = function (callback) {
|
||||
res.get(function (data) {
|
||||
res.subscriptions = data
|
||||
res.flatCategories = flatten(data)
|
||||
res.feeds = flatFeeds(data)
|
||||
|
||||
res.init = function(callback) {
|
||||
res.get(function(data) {
|
||||
res.subscriptions = data;
|
||||
res.flatCategories = flatten(data);
|
||||
res.feeds = flatFeeds(data);
|
||||
res.flatAll = []
|
||||
flatAll(data, res.flatAll)
|
||||
res.flatAll.splice(1, 0, ["starred", "category"])
|
||||
|
||||
res.flatAll = [];
|
||||
flatAll(data, res.flatAll);
|
||||
res.flatAll.splice(1, 0, ['starred', 'category']);
|
||||
if (callback) callback(data)
|
||||
})
|
||||
}
|
||||
res.refresh = function (success, error) {
|
||||
res.get(
|
||||
function (data) {
|
||||
_.merge(res.subscriptions, data)
|
||||
if (success) success(data)
|
||||
},
|
||||
function (data) {
|
||||
if (error) error(data)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (callback)
|
||||
callback(data);
|
||||
});
|
||||
};
|
||||
res.refresh = function(success, error) {
|
||||
res.get(function(data) {
|
||||
_.merge(res.subscriptions, data);
|
||||
if (success)
|
||||
success(data);
|
||||
}, function(data) {
|
||||
if (error)
|
||||
error(data);
|
||||
});
|
||||
};
|
||||
res.init()
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
res.init();
|
||||
return res;
|
||||
}]);
|
||||
module.factory("EntryService", [
|
||||
"$resource",
|
||||
"$http",
|
||||
function ($resource, $http) {
|
||||
var actions = {
|
||||
search: {
|
||||
method: "GET",
|
||||
params: {
|
||||
_method: "search",
|
||||
},
|
||||
},
|
||||
mark: {
|
||||
method: "POST",
|
||||
ignoreLoadingBar: true,
|
||||
params: {
|
||||
_method: "mark",
|
||||
},
|
||||
},
|
||||
markMultiple: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "markMultiple",
|
||||
},
|
||||
},
|
||||
star: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "star",
|
||||
},
|
||||
},
|
||||
tag: {
|
||||
method: "POST",
|
||||
params: {
|
||||
_method: "tag",
|
||||
},
|
||||
},
|
||||
}
|
||||
var res = $resource("rest/entry/:_method", {}, actions)
|
||||
res.tags = []
|
||||
var initTags = function () {
|
||||
$http.get("rest/entry/tags").success(function (data) {
|
||||
res.tags = []
|
||||
res.tags.push.apply(res.tags, data)
|
||||
res.tags.sort()
|
||||
})
|
||||
}
|
||||
var oldTag = res.tag
|
||||
res.tag = function (data) {
|
||||
oldTag(data, function () {
|
||||
initTags()
|
||||
})
|
||||
}
|
||||
initTags()
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('EntryService', ['$resource', '$http', function($resource, $http) {
|
||||
var actions = {
|
||||
search : {
|
||||
method : 'GET',
|
||||
params : {
|
||||
_method : 'search'
|
||||
}
|
||||
},
|
||||
mark : {
|
||||
method : 'POST',
|
||||
ignoreLoadingBar : true,
|
||||
params : {
|
||||
_method : 'mark'
|
||||
}
|
||||
},
|
||||
markMultiple : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'markMultiple'
|
||||
}
|
||||
},
|
||||
star : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'star'
|
||||
}
|
||||
},
|
||||
tag : {
|
||||
method : 'POST',
|
||||
params : {
|
||||
_method : 'tag'
|
||||
}
|
||||
}
|
||||
};
|
||||
var res = $resource('rest/entry/:_method', {}, actions);
|
||||
res.tags = [];
|
||||
var initTags = function() {
|
||||
$http.get('rest/entry/tags').success(function(data) {
|
||||
res.tags = [];
|
||||
res.tags.push.apply(res.tags, data);
|
||||
res.tags.sort();
|
||||
});
|
||||
};
|
||||
var oldTag = res.tag;
|
||||
res.tag = function(data) {
|
||||
oldTag(data, function() {
|
||||
initTags();
|
||||
});
|
||||
};
|
||||
initTags();
|
||||
return res;
|
||||
}]);
|
||||
module.factory("AdminUsersService", [
|
||||
"$resource",
|
||||
function ($resource) {
|
||||
var res = {}
|
||||
res.get = $resource("rest/admin/user/get/:id").get
|
||||
res.getAll = $resource("rest/admin/user/getAll").query
|
||||
res.save = $resource("rest/admin/user/save").save
|
||||
res.remove = $resource("rest/admin/user/delete").save
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('AdminUsersService', ['$resource', function($resource) {
|
||||
var res = {};
|
||||
res.get = $resource('rest/admin/user/get/:id').get;
|
||||
res.getAll = $resource('rest/admin/user/getAll').query;
|
||||
res.save = $resource('rest/admin/user/save').save;
|
||||
res.remove = $resource('rest/admin/user/delete').save;
|
||||
return res;
|
||||
}]);
|
||||
module.factory("AdminSettingsService", [
|
||||
"$resource",
|
||||
function ($resource) {
|
||||
var res = $resource("rest/admin/settings/")
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('AdminSettingsService', ['$resource', function($resource) {
|
||||
var res = $resource('rest/admin/settings/');
|
||||
return res;
|
||||
}]);
|
||||
module.factory("AdminMetricsService", [
|
||||
"$resource",
|
||||
function ($resource) {
|
||||
var res = $resource("rest/admin/metrics/")
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
module.factory('AdminMetricsService', ['$resource', function($resource) {
|
||||
var res = $resource('rest/admin/metrics/');
|
||||
return res;
|
||||
}]);
|
||||
|
||||
module.factory('ServerService', ['$resource', function($resource) {
|
||||
var res = $resource('rest/server/get');
|
||||
return res;
|
||||
}]);
|
||||
module.factory("ServerService", [
|
||||
"$resource",
|
||||
function ($resource) {
|
||||
var res = $resource("rest/server/get")
|
||||
return res
|
||||
},
|
||||
])
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
$(function() {
|
||||
var reg = $('#register-panel');
|
||||
if (!reg) {
|
||||
return;
|
||||
}
|
||||
$('#login-panel').height(reg.height());
|
||||
});
|
||||
$(function () {
|
||||
var reg = $("#register-panel")
|
||||
if (!reg) {
|
||||
return
|
||||
}
|
||||
$("#login-panel").height(reg.height())
|
||||
})
|
||||
|
||||
@@ -1,31 +1,32 @@
|
||||
{
|
||||
"name": "CommaFeed",
|
||||
"icons": [
|
||||
{
|
||||
"src": "app-icon-72.png",
|
||||
"sizes": "72x72",
|
||||
"type": "image/png",
|
||||
"density": "1.5"
|
||||
},
|
||||
{
|
||||
"src": "app-icon-114.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image/png",
|
||||
"density": "2.0"
|
||||
},
|
||||
{
|
||||
"src": "app-icon-144.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image/png",
|
||||
"density": "3.0"
|
||||
},
|
||||
{
|
||||
"src": "app-icon-192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"density": "4.0"
|
||||
}
|
||||
],
|
||||
"start_url": "/",
|
||||
"display": "standalone"
|
||||
"name": "CommaFeed",
|
||||
"icons": [
|
||||
{
|
||||
"src": "app-icon-72.png",
|
||||
"sizes": "72x72",
|
||||
"type": "image/png",
|
||||
"density": "1.5"
|
||||
},
|
||||
{
|
||||
"src": "app-icon-114.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image/png",
|
||||
"density": "2.0"
|
||||
},
|
||||
{
|
||||
"src": "app-icon-144.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image/png",
|
||||
"density": "3.0"
|
||||
},
|
||||
{
|
||||
"src": "app-icon-192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"density": "4.0"
|
||||
}
|
||||
],
|
||||
"scope": ".",
|
||||
"start_url": "./",
|
||||
"display": "standalone"
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -8,7 +8,6 @@
|
||||
@import "components/help";
|
||||
@import "components/loading-bar";
|
||||
|
||||
@import "components/readabilicons";
|
||||
@import "components/zocial";
|
||||
|
||||
@import "mobile/mobile";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* admin */
|
||||
.admin .users-table {
|
||||
height: 400px;
|
||||
}
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
@@ -1,271 +1,279 @@
|
||||
.main-content {
|
||||
margin-left: 250px;
|
||||
padding-left: 15px;
|
||||
margin-left: 250px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
.full-screen .main-content {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.entryList {
|
||||
padding-top: 50px;
|
||||
padding-top: 50px;
|
||||
}
|
||||
|
||||
/* entry list*/
|
||||
.entrylist-header {
|
||||
border-bottom: 1px solid #eee;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.entrylist-header h3 {
|
||||
margin: 0;
|
||||
line-height: 40px;
|
||||
margin: 0;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.entrylist-header a {
|
||||
color: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.expanded .entry-header,.expanded .entry-body-content {
|
||||
padding-left: 25px;
|
||||
padding-right: 25px;
|
||||
.expanded .entry-header,
|
||||
.expanded .entry-body-content {
|
||||
padding-left: 25px;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
.expanded .entry-header {
|
||||
max-width: 650px;
|
||||
max-width: 650px;
|
||||
}
|
||||
|
||||
.full-screen .expanded .entry-header {
|
||||
max-width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.rtl .entry-header,.rtl .entry-body-content,.rtl.entry-name {
|
||||
direction: rtl;
|
||||
.rtl .entry-header,
|
||||
.rtl .entry-body-content,
|
||||
.rtl.entry-name {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.rtl ul,.rtl ol {
|
||||
padding: 0;
|
||||
margin: 0 25px 10px 0px;
|
||||
.rtl ul,
|
||||
.rtl ol {
|
||||
padding: 0;
|
||||
margin: 0 25px 10px 0px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry {
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
}
|
||||
|
||||
#feed-accordion .no-entries {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
margin-top: 80px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
margin-top: 80px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-heading {
|
||||
background-color: #ebebeb;
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
|
||||
#feed-accordion .unread .entry-heading:hover {
|
||||
background-color: #ebebeb;
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
|
||||
#feed-accordion .unread .entry-heading {
|
||||
background-color: #fff;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#feed-accordion .current.closed .entry-heading {
|
||||
background-color: #ffc;
|
||||
background-color: #ffc;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-heading-link {
|
||||
color: black;
|
||||
height: 32px;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
padding: 6px 0px;
|
||||
color: black;
|
||||
height: 32px;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
padding: 6px 0px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-heading .feed-name {
|
||||
color: #555;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
position: absolute;
|
||||
width: 145px;
|
||||
text-overflow: ellipsis;
|
||||
color: #555;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
position: absolute;
|
||||
width: 145px;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-heading .entry-name {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
margin-right: 150px;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
margin-right: 150px;
|
||||
}
|
||||
|
||||
#feed-accordion .unread .entry-heading .entry-name {
|
||||
font-weight: bold;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-heading .shrink {
|
||||
margin-left: 150px;
|
||||
margin-left: 150px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-heading .entry-date {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 45px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 45px;
|
||||
}
|
||||
|
||||
#feed-accordion a.entry-heading-link:hover {
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-external-link {
|
||||
position: absolute;
|
||||
right: 25px;
|
||||
margin-top: -25px;
|
||||
color: black;
|
||||
position: absolute;
|
||||
right: 25px;
|
||||
margin-top: -25px;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-external-link:hover {
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-body .entry-title {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 130%;
|
||||
font-weight: bold;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 130%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-body .entry-subtitle {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-body-content {
|
||||
max-width: 650px;
|
||||
color: black;
|
||||
padding-bottom: 10px;
|
||||
#feed-accordion .entry-body-content {
|
||||
max-width: 650px;
|
||||
color: black;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.full-screen #feed-accordion .entry-body-content {
|
||||
max-width: 100%;
|
||||
.full-screen #feed-accordion .entry-body-content {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-enclosure {
|
||||
clear: both;
|
||||
padding-top: 10px;
|
||||
clear: both;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-media-description {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-buttons {
|
||||
clear: both;
|
||||
background-color: #fafafa;
|
||||
padding: 3px 0px;
|
||||
border-top: 1px solid #ebebeb;
|
||||
clear: both;
|
||||
background-color: #fafafa;
|
||||
padding: 3px 0px;
|
||||
border-top: 1px solid #ebebeb;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-buttons .checkbox.inline {
|
||||
padding-top: 0px;
|
||||
margin-left: 5px;
|
||||
padding-top: 0px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-buttons .keep-unread label {
|
||||
display: inline;
|
||||
font-weight: inherit;
|
||||
display: inline;
|
||||
font-weight: inherit;
|
||||
}
|
||||
|
||||
#feed-accordion .share-buttons a {
|
||||
color: #333333;
|
||||
padding-left: 5px;
|
||||
color: #333333;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
#feed-accordion .share-buttons a:hover {
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#feed-accordion .tags-panel {
|
||||
margin-left: 30px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
#feed-accordion .tags-panel .label{
|
||||
margin-left: 5px;
|
||||
#feed-accordion .tags-panel .label {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.select2-container-multi .select2-choices .select2-search-field input {
|
||||
padding: 2px
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
#feed-accordion .tag-input {
|
||||
margin: 0 0 0 5px;
|
||||
padding: 0;
|
||||
width: 200px;
|
||||
margin: 0 0 0 5px;
|
||||
padding: 0;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#feed-accordion .entry-buttons label {
|
||||
margin-bottom: 0px;
|
||||
font-size: 12px;
|
||||
margin-bottom: 0px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#feed-accordion a.mark-up-to {
|
||||
color: #333333;
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
color: #333333;
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
}
|
||||
|
||||
#feed-accordion a.mark-up-to:hover {
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#feed-accordion .star {
|
||||
text-decoration: none;
|
||||
padding: 0px 5px;
|
||||
text-decoration: none;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
#feed-accordion .icon-star-yellow {
|
||||
color: gold;
|
||||
text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
|
||||
color: gold;
|
||||
text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
|
||||
}
|
||||
|
||||
#feed-accordion .icon-star-empty {
|
||||
color: #555;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
#feed-accordion.expanded .entry {
|
||||
margin-bottom: 40px;
|
||||
border: 1px solid #ddd;
|
||||
box-shadow: 0 0 4px #e3e5eb;
|
||||
margin-bottom: 40px;
|
||||
border: 1px solid #ddd;
|
||||
box-shadow: 0 0 4px #e3e5eb;
|
||||
}
|
||||
|
||||
#feed-accordion.expanded .current {
|
||||
border-left: 1px solid rgb(77, 144, 240);
|
||||
border-left: 1px solid rgb(77, 144, 240);
|
||||
}
|
||||
|
||||
#feed-accordion .current.entry-font-size-0 {
|
||||
font-size: 14px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#feed-accordion .current.entry-font-size-1 {
|
||||
font-size: 15px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
#feed-accordion .current.entry-font-size-2 {
|
||||
font-size: 16px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#feed-accordion .current.entry-font-size-3 {
|
||||
font-size: 17px;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
#feed-accordion .current.entry-font-size-4 {
|
||||
font-size: 18px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#feed-accordion .current.entry-font-size-5 {
|
||||
font-size: 19px;
|
||||
font-size: 19px;
|
||||
}
|
||||
|
||||
#feed-accordion .highlight-search {
|
||||
background-color: rgba(255, 255, 140, 0.5);
|
||||
color: #333;
|
||||
}
|
||||
background-color: rgba(255, 255, 140, 0.5);
|
||||
color: #333;
|
||||
}
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
.help {
|
||||
font-size: 85%;
|
||||
line-height: 15px;
|
||||
font-size: 85%;
|
||||
line-height: 15px;
|
||||
}
|
||||
|
||||
.help .bookmarklet-select {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.help .about-module {
|
||||
margin-bottom: 40px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.donate-action {
|
||||
margin-top:20px;
|
||||
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.donate-image {
|
||||
padding-bottom:10px;
|
||||
padding-right:16px;
|
||||
padding-bottom: 10px;
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#loading-bar .bar {
|
||||
background: #2c3e50;
|
||||
height: 101px;
|
||||
top: -100px;
|
||||
position: fixed;
|
||||
background: #2c3e50;
|
||||
height: 101px;
|
||||
top: -100px;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
#loading-bar .peg {
|
||||
box-shadow: 0 0 10px #2c3e50, 0 0 5px #2c3e50;
|
||||
box-shadow: 0 0 10px #2c3e50, 0 0 5px #2c3e50;
|
||||
}
|
||||
|
||||
#loading-bar-spinner .spinner-icon {
|
||||
border-top-color: #2c3e50;
|
||||
border-left-color: #2c3e50;
|
||||
border-top-color: #2c3e50;
|
||||
border-left-color: #2c3e50;
|
||||
}
|
||||
|
||||
@@ -1,159 +1,161 @@
|
||||
/* feed search dialog */
|
||||
.feed-search-dialog .modal-body {
|
||||
overflow: hidden;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.feed-search-dialog .filter-input {
|
||||
width: 90%;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.feed-search-dialog .feed-link {
|
||||
font-size: large;
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
.feed-search-dialog a:hover {
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.feed-search-dialog .focus a {
|
||||
color: black;
|
||||
color: black;
|
||||
}
|
||||
|
||||
/* tree*/
|
||||
.sidebar-nav-fixed {
|
||||
margin-top: 10px;
|
||||
width: 250px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
overflow: hidden;
|
||||
margin-top: 10px;
|
||||
width: 250px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sidebar-nav-fixed:hover {
|
||||
overflow-y: auto;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.sidebar-nav-fixed .ui-resizable-e {
|
||||
width: 5px;
|
||||
right: 0;
|
||||
width: 5px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.full-screen .left-menu {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.css-treeview {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 30px;
|
||||
font-family: inherit;
|
||||
font-size: 13px;
|
||||
white-space: nowrap;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 30px;
|
||||
font-family: inherit;
|
||||
font-size: 13px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.css-treeview ul {
|
||||
list-style: none;
|
||||
margin-left: 0px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
margin-left: 0px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.css-treeview li {
|
||||
line-height: 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.css-treeview .fldr {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
line-height: 14px;
|
||||
vertical-align: text-top;
|
||||
margin-top: 1px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
line-height: 14px;
|
||||
vertical-align: text-top;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.css-treeview .error {
|
||||
color: red;
|
||||
font-style: italic;
|
||||
color: red;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.css-treeview label {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
margin: 3px 0px 3px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
margin: 3px 0px 3px;
|
||||
}
|
||||
|
||||
.css-treeview label,.css-treeview a,.css-treeview label::before {
|
||||
font-family: inherit;
|
||||
font-size: 12px;
|
||||
white-space: nowrap;
|
||||
.css-treeview label,
|
||||
.css-treeview a,
|
||||
.css-treeview label::before {
|
||||
font-family: inherit;
|
||||
font-size: 12px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.css-treeview .selected {
|
||||
color: #d14836;
|
||||
color: #d14836;
|
||||
}
|
||||
|
||||
.css-treeview .unread {
|
||||
font-weight: bold;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.css-treeview .unread-counter {
|
||||
color: #666;
|
||||
font-size: 11px;
|
||||
color: #666;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.css-treeview .unread ~ .unread-counter::before {
|
||||
content: '(';
|
||||
content: "(";
|
||||
}
|
||||
|
||||
.css-treeview .unread ~ .unread-counter::after {
|
||||
content: ')';
|
||||
content: ")";
|
||||
}
|
||||
|
||||
.css-treeview a {
|
||||
cursor: pointer;
|
||||
color: black;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
cursor: pointer;
|
||||
color: black;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.css-treeview a:hover {
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.css-treeview li .tree-item:hover {
|
||||
background-color: #EBEBEB;
|
||||
text-decoration: none;
|
||||
background-color: #ebebeb;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.css-treeview .config {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.css-treeview .tree-item:hover .config {
|
||||
display: block;
|
||||
padding-top: 3px;
|
||||
margin-right: 5px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
display: block;
|
||||
padding-top: 3px;
|
||||
margin-right: 5px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.css-treeview .indent1 {
|
||||
padding-left: 16px;
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
.css-treeview .indent2 {
|
||||
padding-left: 32px;
|
||||
padding-left: 32px;
|
||||
}
|
||||
|
||||
.css-treeview .indent3 {
|
||||
padding-left: 48px;
|
||||
padding-left: 48px;
|
||||
}
|
||||
|
||||
.css-treeview .indent4 {
|
||||
padding-left: 64px;
|
||||
padding-left: 64px;
|
||||
}
|
||||
|
||||
.css-treeview .indent5 {
|
||||
padding-left: 80px;
|
||||
}
|
||||
padding-left: 80px;
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
.toolbar {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
position: fixed;
|
||||
background-color: #FFF;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
position: fixed;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.toolbar .donate {
|
||||
display: inline-block;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.toolbar .keywords {
|
||||
width: 244px;
|
||||
}
|
||||
width: 244px;
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'readabilicons';
|
||||
src: url('../font/readabilicons-regular.eot'); /* IE9 Compat Modes */
|
||||
src: url('../font/readabilicons-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||
url('../font/readabilicons-regular.woff') format('woff'), /* Modern Browsers */
|
||||
url('../font/readabilicons-regular.ttf') format('truetype'), /* Safari, Android, iOS */
|
||||
url('../font/readabilicons-regular.svg#readabiliconsregular') format('svg'); /* Legacy iOS */
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.icon-couch::before {
|
||||
content: "\e018";
|
||||
font-family: "readabilicons";
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
@@ -1,148 +1,153 @@
|
||||
a:focus {
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.container-full {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding-right: 20px;
|
||||
padding-left: 20px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding-right: 20px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
body img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
body .modal {
|
||||
display: block;
|
||||
display: block;
|
||||
}
|
||||
|
||||
body .modal-backdrop {
|
||||
opacity: 0.5;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: inherit;
|
||||
font-weight: inherit;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nolink {
|
||||
color: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.nolink:hover {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.clear-both {
|
||||
clear: both;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.block {
|
||||
display: block;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.pre-wrap {
|
||||
white-space: pre-wrap;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.form-horizontal .control-group {
|
||||
margin-bottom: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.bidi-embed {
|
||||
unicode-bidi: embed;
|
||||
unicode-bidi: embed;
|
||||
}
|
||||
|
||||
.bs-fb ul {
|
||||
margin-bottom: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.horizontal-align {
|
||||
padding-top: 5px;
|
||||
line-height: 20px
|
||||
padding-top: 5px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.welcome .container-fluid {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
max-width: 950px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
max-width: 950px;
|
||||
}
|
||||
|
||||
.welcome .header {
|
||||
margin: 20px 0 20px 0;
|
||||
margin: 20px 0 20px 0;
|
||||
}
|
||||
|
||||
.welcome h3 {
|
||||
margin-top: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.welcome .tagline {
|
||||
color: #B3B3B3;
|
||||
font-size: 28px;
|
||||
padding-top: 110px;
|
||||
color: #b3b3b3;
|
||||
font-size: 28px;
|
||||
padding-top: 110px;
|
||||
}
|
||||
|
||||
.welcome .preview {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.welcome .demo {
|
||||
font-size: 24px;
|
||||
color: #B3B3B3;
|
||||
display: block;
|
||||
font-size: 24px;
|
||||
color: #b3b3b3;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.main .spinner {
|
||||
display: inline-block;
|
||||
margin-left: 11px;
|
||||
top: -4px;
|
||||
display: inline-block;
|
||||
margin-left: 11px;
|
||||
top: -4px;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
display: block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.main .dropdown-menu a {
|
||||
cursor: pointer;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.favicon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
blockquote p {
|
||||
font-size: 14px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.form-group {
|
||||
margin-bottom: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.btn, .btn-large, .btn-small, .btn-mini {
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-left-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
.btn,
|
||||
.btn-large,
|
||||
.btn-small,
|
||||
.btn-mini {
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-left-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
|
||||
.btn-group>.btn:first-child, .btn-group>.btn-large:first-child {
|
||||
border-top-left-radius: 2px;
|
||||
border-bottom-left-radius: 2px;
|
||||
.btn-group > .btn:first-child,
|
||||
.btn-group > .btn-large:first-child {
|
||||
border-top-left-radius: 2px;
|
||||
border-bottom-left-radius: 2px;
|
||||
}
|
||||
|
||||
.btn-group>.btn:last-child, .btn-group>.btn-large:last-child, .btn-group>.dropdown-toggle
|
||||
{
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
.btn-group > .btn:last-child,
|
||||
.btn-group > .btn-large:last-child,
|
||||
.btn-group > .dropdown-toggle {
|
||||
border-top-right-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
::-webkit-scrollbar {
|
||||
height: 8px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track:hover {
|
||||
background-color: rgba(0, 0, 0, .05);
|
||||
box-shadow: inset 1px 0 0 rgba(0, 0, 0, .1)
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||