Compare commits

...

641 Commits
2.0.0 ... 2.6.0

Author SHA1 Message Date
Athou
a75f726111 2.6.0 release 2022-08-08 12:43:36 +02:00
Athou
d34c0c8652 avoid exposing the smtp host/port when an email could not be sent 2022-08-07 22:11:12 +02:00
Jérémie Panzer
c0bd7d0610 Merge pull request #1011 from Athou/dependabot/maven/org.postgresql-postgresql-42.4.1
Bump postgresql from 42.3.3 to 42.4.1
2022-08-06 21:41:12 +02:00
dependabot[bot]
155a66b913 Bump postgresql from 42.3.3 to 42.4.1
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-06 07:15:04 +00:00
Athou
c7216ef0a6 fix "MessageBodyWriter not found for media type=text/plain, type=class io.dropwizard.jersey.validation.ValidationErrorMessage" 2022-08-05 14:10:48 +02:00
Athou
c692a8d8f3 fix for "No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Long'." 2022-08-03 15:24:55 +02:00
Athou
54e6bc3154 add matrix to test for multiple java versions 2022-07-30 13:55:57 +02:00
Athou
2e24d32cc2 add support for java17 (#1009) 2022-07-30 13:55:57 +02:00
Jérémie Panzer
1c7e31a464 Merge pull request #1008 from anthonyryan1/master
Losslessly optimize images to reduce filesize
2022-07-26 07:19:05 +02:00
Anthony Ryan
94bf8338cd Losslessly optimize images to reduce filesize
Optimized using Efficient Compression Tool, reducing the filesize
without any reduction in quality.
2022-07-25 21:53:27 -04:00
Athou
152f0bd727 use the logical date of the entry and not the date the entry was inserted in the database when marking entries older than a threshold (#1007) 2022-07-25 17:29:21 +02:00
Athou
6ffdc7b07d mv_store=false is not required anymore (fixes #1007) 2022-07-25 17:13:28 +02:00
Athou
fe87566668 validate more inputs 2022-07-24 13:31:48 +02:00
Athou
c36dd47afd request current password when changing profile data for security reasons 2022-07-23 11:05:19 +02:00
Athou
b6a9b17410 Merge branch 'matthewlenz-patch-1' 2022-07-23 07:59:59 +02:00
Athou
c78fdf87b8 add valid checksum for instances where the changelog already passed 2022-07-23 07:55:39 +02:00
matthewlenz
55a1ccc849 Invalid migration in db.changelog-2.6.xml
Fix migration for mysql/mariadb environments missing columnDataType on renameColumn
2022-07-22 21:35:49 -05:00
Athou
d97f42ff2d add first integration test 2022-07-17 10:25:07 +02:00
Athou
9ab52aeaf2 migrate to junit5 2022-07-15 19:28:11 +02:00
Athou
a0190143fe fix deprecation warnings 2022-07-14 21:13:12 +02:00
Athou
a48135a60d send X-Frame-Options header with value "DENY" 2022-07-14 13:58:37 +02:00
Athou
09eec3235d filter is a reserved keyword in liquibase 4.7+ for h2, rename to filtering_expression 2022-07-14 13:58:37 +02:00
Athou
d21e5dfee4 upgrade dropwizard to 2.1 2022-07-14 13:58:37 +02:00
Athou
899a8d746a increase minimum password strength 2022-07-13 22:20:19 +02:00
Athou
9bbfc2de3f avoid exposing registered email addresses 2022-07-13 13:28:18 +02:00
Jérémie Panzer
d82bb22341 Create SECURITY.md 2022-07-06 12:27:16 +02:00
Athou
0fd55c6635 keep using log4j-over-slf4j 2022-03-22 16:20:55 +01:00
Athou
4b346dd2e1 liquibase upgrade (#993) 2022-03-22 16:01:44 +01:00
Athou
13a0516cce add support for mariadb 2022-03-22 16:01:44 +01:00
Athou
5fcd7ccb58 fix checkstyle issues 2022-03-22 16:01:44 +01:00
Athou
b0aef46c99 add docker-compose config to start mysql and pgsql local databases 2022-03-22 16:01:44 +01:00
Athou
ec50530284 downgrade mysql client to fix java.lang.ClassCastException: class java.time.LocalDateTime cannot be cast to class java.lang.String (#993)
https://forum.liquibase.org/t/liquibaseexception-java-lang-classcastexception-class-java-time-localdatetime-cannot-be-cast-to-class-java-lang-string/5059
2022-03-22 14:40:53 +01:00
Athou
cbc4ebe7b3 fix infinite build in recent eclipse versions 2022-03-22 14:28:16 +01:00
Jérémie Panzer
f5339db646 Merge pull request #995 from Athou/dependabot/maven/com.h2database-h2-2.1.210
Bump h2 from 2.0.206 to 2.1.210
2022-03-22 12:51:50 +01:00
Jérémie Panzer
c573e70e8b Merge pull request #994 from Athou/dependabot/maven/org.postgresql-postgresql-42.3.3
Bump postgresql from 42.3.2 to 42.3.3
2022-03-22 12:50:37 +01:00
dependabot[bot]
16b3049839 Bump h2 from 2.0.206 to 2.1.210
Bumps [h2](https://github.com/h2database/h2database) from 2.0.206 to 2.1.210.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.0.206...version-2.1.210)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-22 11:49:07 +00:00
dependabot[bot]
57ff8e9d22 Bump postgresql from 42.3.2 to 42.3.3
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.2 to 42.3.3.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.2...REL42.3.3)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-22 11:49:07 +00:00
Athou
5c6ea23e0f fix wrong start_url when application is running with a context path (fixes #993) 2022-03-21 18:35:40 +01:00
Jérémie Panzer
5a2aa7cd4b Merge pull request #988 from Athou/dependabot/maven/org.postgresql-postgresql-42.3.2
Bump postgresql from 42.3.1 to 42.3.2
2022-02-02 08:08:53 +01:00
dependabot[bot]
3df53b582a Bump postgresql from 42.3.1 to 42.3.2
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.1 to 42.3.2.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.1...REL42.3.2)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-02 07:08:31 +00:00
Jérémie Panzer
eb53fc472c Merge pull request #984 from Athou/dependabot/maven/com.h2database-h2-2.0.206
Bump h2 from 2.0.204 to 2.0.206
2022-01-07 07:39:51 +01:00
dependabot[bot]
c4e9178efb Bump h2 from 2.0.204 to 2.0.206
Bumps [h2](https://github.com/h2database/h2database) from 2.0.204 to 2.0.206.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.0.204...version-2.0.206)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-07 06:36:30 +00:00
Athou
822f41bc40 don't mark feature requests as stale 2022-01-03 07:57:51 +01:00
Athou
1558c0a62f use github actions 2022-01-02 22:16:07 +01:00
Athou
3977bb2a0b remove openshift support, nobody's using it 2022-01-02 22:14:27 +01:00
Athou
26df3a1d1d fix test 2022-01-02 22:12:33 +01:00
Athou
a77a860e0c don't reuse a content if other fields are different (#800) 2022-01-02 21:50:45 +01:00
Athou
78b637c83b fix formatting 2022-01-02 21:33:01 +01:00
Athou
b132178228 remove warnings 2022-01-02 21:31:05 +01:00
Athou
4021389a4d fix formatting 2022-01-02 21:25:15 +01:00
Athou
089be99287 use sslcontext-kickstart to create ssl factory 2022-01-02 21:25:15 +01:00
Athou
b3dd6acfe6 enforce code formatting 2022-01-02 21:24:37 +01:00
Athou
ec3645a1c9 use dependencies instead of copying code 2022-01-02 21:03:33 +01:00
Athou
1c49873da1 fix media extension not loaded in shaded jar by merging our rome.properties with the one from rome-modules (#800) 2022-01-02 18:42:53 +01:00
Athou
8818bd90e0 format scss files 2022-01-02 16:03:09 +01:00
Athou
4fb95799f8 support for media thumbnail and description as a backup for missing content (#800) 2022-01-02 15:58:00 +01:00
Athou
2ee9084b91 upgrade dependencies 2022-01-02 08:38:30 +01:00
Athou
3f3ef27d6b remove google+ and readability sharing support since they're dead 2022-01-02 08:21:32 +01:00
Athou
e01e59b72c restore previous liquibase version to fix issue with "filter" column not created with correct case in FEEDSUBSCRIPTIONS table 2022-01-01 22:09:33 +01:00
Athou
0a97f04257 apply prettier 2022-01-01 22:09:33 +01:00
Athou
0b3888a8ae upgrade feed url from http to https if able 2022-01-01 19:12:31 +01:00
Athou
c6601e5bbf correctly follow http error code 308 redirects (fixes #978) 2022-01-01 18:52:31 +01:00
Athou
5f7c5d25de add stale config 2022-01-01 10:52:11 +01:00
Athou
99d80df76c prevent NPE if icon.getMediaType() is "" 2021-12-23 16:15:26 +01:00
Athou
22beeabb9b close liquibase instance 2021-12-23 15:07:02 +01:00
Athou
8e1aad655a pgsql driver upgrade 2021-12-23 15:07:02 +01:00
Athou
942447c62f dropwizard upgrade 2021-12-23 15:07:02 +01:00
Jérémie Panzer
d8a4da7ec8 Merge pull request #965 from patoniilista/patch-1
Update pt.js
2021-04-04 19:00:52 +02:00
patoniilista
56c50eacfe Update pt.js
Fix typos and untranslated lines
2021-04-04 13:12:20 -03:00
Athou
eec6f7d168 remove sorting alphabetically because of poor performances (title is of type 'text' and cannot be indexed) 2021-01-31 08:37:10 +01:00
Athou
b45219a595 fix metrics 2021-01-30 22:40:31 +01:00
Athou
d7858f17a1 distinct is not needed since there are no feed duplicates and slows the query a lot 2021-01-30 22:07:12 +01:00
Athou
000a99c53e speed up tests 2021-01-30 21:43:21 +01:00
Athou
e592d26f8b can only remove categories once there are no subscriptions in them 2021-01-30 21:30:32 +01:00
Athou
015a60f998 subquery for retrieving feeds to refresh was not connected to main query 2021-01-30 21:28:37 +01:00
Jérémie Panzer
caba43bb5b Merge pull request #942 from pklink/tests
Add tests for PubSubService and FeedUtils.removeTrailingSlash()
2020-10-04 19:17:58 +02:00
pierre
056425bd8a add tests for FeedUtils.removeTrailingSlash() 2020-10-04 00:13:28 +02:00
Pierre Klink
4aca62c042 add tests for PubSubService 2020-10-04 00:12:29 +02:00
Athou
b597c655cd prepare next version 2020-09-02 21:24:21 +02:00
Athou
9b276009e2 README update 2020-09-02 21:23:56 +02:00
Athou
c1dac2e064 2.5.0 release 2020-09-02 21:20:20 +02:00
Jérémie Panzer
f707993188 fix travis build 2020-08-15 08:33:12 +02:00
Athou
ea612d9d53 add missing validCheckSum 2020-05-18 09:42:08 +02:00
Jeremie Panzer
b44e737448 fix liquibase script when running on an empty postgresql database 2020-03-12 13:45:06 +01:00
Jeremie Panzer
bb429afd95 ignore swagger in eclipse 2020-03-12 12:54:20 +01:00
dependabot[bot]
475a8f8a28 Bump bower from 1.4.1 to 1.8.8 (#920)
Bumps [bower](https://github.com/bower/bower) from 1.4.1 to 1.8.8.
- [Release notes](https://github.com/bower/bower/releases)
- [Changelog](https://github.com/bower/bower/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bower/bower/compare/v1.4.1...v1.8.8)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-30 09:01:55 +02:00
Athou
c7ba5ca894 make swagger aware that dates are serialized as longs 2019-05-03 22:01:18 +02:00
Athou
3023f0a7cc fix build 2019-05-03 18:57:02 +02:00
Athou
ddaefbc952 deduplicate method names across all the api (swagger requires unique api operations) 2019-05-03 18:40:50 +02:00
Jeremie Panzer
0b3a0fb3ed add missing required 2019-05-02 13:42:49 +02:00
Athou
7f40a430fd hide securitycheck user from swagger documentation 2019-05-01 23:33:55 +02:00
Athou
05f5d3b25c add missing "required" flags 2019-05-01 20:31:48 +02:00
Athou
c3ca0b18b3 value field of annotation is actually the name of the class 2019-05-01 19:57:52 +02:00
Athou
696e0b1fa7 maven config for swagger plugin changed 2019-05-01 19:56:48 +02:00
Athou
201f7dbd3e restore cookieMaxAge behavior 2019-04-23 01:14:26 +02:00
Athou
0bfd3e906c stop hibernate HHH90000015 spam 2019-04-22 20:55:39 +02:00
Jérémie Panzer
71ac2bfc45 support for Java9+ (#906)
* initial java9+ support

* restore session management, updated for jetty 9.4

* Session actually implements EntityManager

* reusable method for setting the timeout
2019-04-22 20:30:06 +02:00
Athou
5370db7c5e rename for clarity 2019-03-17 07:05:29 +01:00
Athou
bcc30e40ba Merge branch 'ildar-shaimordanov-master' 2019-03-17 06:46:51 +01:00
Athou
2f70f654f7 extensible mechanism for feed url building 2019-03-17 06:44:09 +01:00
ildar-shaimordanov
b64115dcbd improve youtube feed URL getter 2019-03-12 05:52:00 +04:00
ildar-shaimordanov
c9c71d8582 workaround for youtube channels 2019-03-12 02:13:41 +04:00
Jérémie Panzer
689bc19296 Merge pull request #896 from nelsonblaha/patch-1
English correction for configuration comment
2019-02-10 20:33:12 +01:00
Ben Nelson
27498ab649 English correction for configuration comment 2019-02-10 11:35:46 -06:00
Athou
678a11f998 blur event seems to trigger twice for some reason, make sure we don't fetch the feed twice (#825) 2018-07-31 15:51:48 +02:00
Athou
e9ef98716f configurable user agent string (#825) 2018-07-31 15:21:45 +02:00
Athou
b3ce43eaf7 faster replace for large feeds (#881) 2018-07-11 17:13:38 +02:00
Jérémie Panzer
72083b7e87 Merge pull request #880 from Athou/snyk-fix-0oenl9
[Snyk] Fix for 6 vulnerable dependencies
2018-06-23 13:49:14 +02:00
snyk-bot
0cc94c2033 fix: pom.xml to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-COMH2DATABASE-31685
- https://snyk.io/vuln/SNYK-JAVA-MYSQL-31399
- https://snyk.io/vuln/SNYK-JAVA-MYSQL-31449
- https://snyk.io/vuln/SNYK-JAVA-MYSQL-31580
- https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-31517
- https://snyk.io/vuln/SNYK-JAVA-ORGJSOUP-31218
2018-06-14 05:55:43 +00:00
Jérémie Panzer
1d6296b400 Merge pull request #870 from asny23/update-japanese-translation
improve japanese translation
2018-04-12 12:18:50 +02:00
Unknown
7ad5da2a9e translate and improve japanese in ja.js 2018-04-11 23:27:56 +09:00
Athou
a7665a9994 add current year to filtering context 2018-02-25 13:38:37 +01:00
Jérémie Panzer
a4cd3f26e8 Update README.md 2018-02-22 18:21:48 +01:00
Athou
fcdb33b64b utility for testing feeds 2018-02-06 15:17:37 +01:00
Athou
7fd6119bcf add author to rss generated feeds (#858) 2017-12-22 18:50:32 +01:00
Jérémie Panzer
b4d4b2473c Merge pull request #854 from Busimus/patch-7
Updated Russian translation
2017-11-08 15:34:32 +01:00
Alexander Bus
91f715c3c3 Updated Russian translation 2017-10-28 01:16:57 +07:00
Athou
ea5fccfe5f fix build 2017-10-12 12:10:04 +02:00
Athou
86835eec73 request may not be a HttpUriRequest when using a proxy (#850) 2017-10-12 10:21:11 +02:00
Jérémie Panzer
2bccee2333 Merge pull request #849 from ema-pe/update-italian-translation
Update italian translation
2017-09-27 15:00:56 +02:00
Emanuele Petriglia
2d01b0d714 Update italian translation 2017-09-27 14:09:37 +02:00
Jérémie Panzer
44bf37b05a Update bower.json
fix alignment
2017-08-18 16:10:51 +02:00
Jérémie Panzer
cf617f0a64 Merge pull request #847 from sometoby/missing-shortcut-help
Add missing shortcut help for 'r'
2017-08-18 14:27:13 +02:00
Jérémie Panzer
eeeaffd883 Merge pull request #846 from sometoby/tinycon-unread-badge
Use tinycon to display unread article count
2017-08-18 14:25:07 +02:00
Tobias Umbach
d178302d34 Add comment so shortcut code is easier to find 2017-08-18 08:40:05 +02:00
Tobias Umbach
83a5364903 Add missing shortcut help for 'r', refresh 2017-08-18 08:39:49 +02:00
Tobias Umbach
aef76db664 Update CHANGELOG 2017-08-18 08:21:36 +02:00
Tobias Umbach
c3b3240191 Use tinycon to display unread article count 2017-08-14 11:15:43 +02:00
Athou
f381974955 prepare for next version 2017-08-01 13:55:11 +02:00
Athou
bd16dd98c4 update readme 2017-08-01 13:55:04 +02:00
Athou
2fca6132a0 2.4.0 release 2017-08-01 13:50:40 +02:00
Jérémie Panzer
137eba33c9 prerequisites is for maven plugins 2017-08-01 13:44:23 +02:00
Jérémie Panzer
143699c0a4 colors! 2017-08-01 13:44:02 +02:00
Jérémie Panzer
0485403fff Merge pull request #844 from TyBrown/issue/842
Set iOS Meta Tags to use Full Screen 'default' status bar
2017-07-11 18:45:56 +02:00
Ty Brown
489fcb9666 Set iOS Meta Tags to use Full Screen 'default' status bar 2017-07-11 11:29:20 -05:00
Jérémie Panzer
7cc3b84ebc Merge pull request #843 from TyBrown/graphite_metrics
Add feature to emit Graphite metrics based on configuration
2017-07-11 16:35:49 +02:00
Ty Brown
cb254f87d4 Add feature to emit Graphite metrics based on configuration 2017-07-05 21:56:00 -05:00
Athou
d4db98fd64 fix api key generation 2017-05-09 08:59:31 +02:00
Athou
d14a6d8311 Merge pull request #839 from glujan/master
Update pl.js
2017-05-08 12:57:45 +02:00
Grzegorz Janik
286c115167 Update pl.js 2017-05-08 12:48:10 +02:00
Athou
6038b9e052 Update README.md 2017-05-08 12:16:37 +02:00
Athou
552082a36a Merge pull request #837 from Drey91/patch-1
Update es.js
2017-03-07 09:39:07 +01:00
Drey91
5cea92d96d Update es.js
Corrección de algunos errores en la traducción en Español. [Correction of some errors in the Spanish translation]
2017-03-07 09:33:24 +01:00
Athou
02b7b89b94 Merge pull request #829 from ebraminio/patch-5
Use Safari transparent tab bar as loading progress indicator
2016-11-24 11:58:54 +01:00
ebraminio
93697cf1f5 Use Safari transparent tab bar as loading progress indicator 2016-11-24 14:21:09 +03:30
Athou
8daaee28c3 fix version number 2016-11-17 20:35:50 +01:00
Athou
c32f608ec5 upgrade postgresql jdbc driver (fix #827) 2016-11-17 20:30:34 +01:00
Athou
7b09029c5b Merge pull request #823 from ebraminio/patch-5
Add rel="noreferrer" to more places
2016-10-07 12:14:28 +02:00
Ebrahim Byagowi
6e1c414c84 Add rel="noreferrer" to more places 2016-10-07 01:13:08 +03:30
Athou
e57976be99 fix findbugs warning 2016-10-05 09:01:34 +02:00
Athou
a37e6a3f4c Merge pull request #821 from canoine/master
Update fr.js
2016-09-30 10:18:06 +02:00
canoine
2dbe4064b2 Update fr.js 2016-09-28 03:00:44 +02:00
Athou
2b0c0d467a formatting 2016-09-23 08:55:09 +02:00
Athou
40fa4516df use icons 2016-09-23 08:54:46 +02:00
Athou
5201c0cd14 Merge branch 'Hubcapp-master' 2016-09-23 08:54:18 +02:00
tyler
61039dcd7e remove some whitespace, put tuples assignment back on one line 2016-09-05 05:09:57 -04:00
tyler
039ff4ee41 decided to do ctrl-f for " order " and found this piece. Don't know what bug this will fix but probably best to update to reflect additional sorting options. Sorry for ternary operator abuse 2016-09-05 04:56:30 -04:00
tyler
b40349805f switch abc & zyx 2016-09-05 00:41:17 -04:00
tyler
d709d119ac change button for Alphabetic sort to have different "icon".
also ABC and ZYX sorting were switched.
2016-09-04 23:57:12 -04:00
tyler
8d2b6bdc12 Add translation placeholders for new hover text on alphabetic sort, make whatever button you sorted by "active" 2016-09-04 22:39:03 -04:00
tyler
ff78af2d56 fix lots of bugs with alphabetic sort by properly assigning FeedEntry.FeedEntryContent.title instead of trying to make FeedEntryStatus know about titles. 2016-09-04 21:37:04 -04:00
tyler
ada53dba3b Add Alphabetical sorting
First "working" version of Alphabetical sorting in Commafeed. Needs better front end interface, translations, and probably the API is buggy surrounding "order" now b/c there is probably some code still that assumes there are only two possible ways to sort (date asc, date desc).
2016-09-02 03:39:16 -04:00
Hubcapp
ba2f6c0f66 Merge branch 'master' of https://github.com/Athou/commafeed 2016-09-02 02:33:20 -05:00
Athou
268869345c reduce npm verbosity (fixes #811) 2016-08-23 12:11:42 +02:00
Athou
4b556bd3a9 fix password change (#805) 2016-08-22 15:05:15 +02:00
Athou
6f10d35a4c no casting of sessionfactory necessary this way 2016-07-28 11:28:45 +02:00
Athou
33167fcdce Merge pull request #803 from clapd10/patch-1
Update ko.js
2016-07-08 17:45:03 +02:00
clapd10
e9c85b0e77 Update ko.js
improved translation
2016-07-09 00:42:29 +09:00
Athou
e521254600 add indonesian 2016-06-17 14:03:57 +02:00
Athou
a773d98400 Merge pull request #802 from antosamalona/indonesian
add a new file for translating language to Indonesian
2016-06-17 14:03:04 +02:00
AnTo 'SamalonA
ae066d3cd9 update it 2016-06-17 01:51:39 +08:00
AnTo 'SamalonA
b5726fc0f3 add a new file for translating language to Indonesian 2016-06-17 01:35:39 +08:00
Athou
4a056a0d27 Merge pull request #788 from jart/patch-1
Upgrade Apache Commons Collections to v4.1
2016-04-11 10:52:35 +02:00
Justine Tunney
7817431bce Upgrade Apache Commons Collections to v4.1
Version 4.0 has a CVSS 10.0 vulnerability. That's the worst kind of
vulnerability that exists. By merely existing on the classpath, this
library causes the Java serialization parser for the entire JVM process
to go from being a state machine to a turing machine. A turing machine
with an exec() function!

https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8103
https://commons.apache.org/proper/commons-collections/security-reports.html
http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/
2016-04-10 20:56:38 -07:00
Athou
c02d2745c3 fix dev environment 2016-04-07 12:59:23 +02:00
Athou
ee610ec800 build time decreased a lot with npm upgrade 2016-04-07 12:59:23 +02:00
Athou
6c0d585fef Merge pull request #787 from ebraminio/master
Add rel="noreferrer" to resolve window.opener issue
2016-03-22 17:02:51 +01:00
Ebrahim Byagowi
29417005b0 Add rel="noreferrer" to resolve window.opener issue
https://mathiasbynens.github.io/rel-noopener
2016-03-22 20:09:12 +04:30
Athou
cf87fd8340 fix facebook sharing 2016-03-12 21:39:30 +01:00
Athou
f1b85b0dde readme update 2016-03-02 11:22:55 +01:00
Athou
abef73d384 version bump 2016-03-02 11:22:27 +01:00
Athou
535f947f88 2.3.0 release 2016-03-02 11:21:10 +01:00
Athou
f27e243cc4 readme update 2016-03-02 11:20:57 +01:00
Athou
6a699ed5f1 Merge pull request #782 from badarg/improve-spanish-translation
Improved spanish translation.
2016-02-15 12:34:02 +01:00
badarg
9c1f5efab5 Improved spanish translation.
Fixed grammar, orthography, sundry mistakes, and added missing strings.
2016-02-14 20:36:28 +01:00
Athou
6b7ce56f6b Merge pull request #779 from canoine/patch-1
Update fr.js
2016-01-20 06:31:20 +01:00
canoine
b76ee4a2d0 Update fr.js
Translation of the sentences that were still in english.
Some stylistic, grammatical and orthographic corrections.
2016-01-20 01:55:09 +01:00
Athou
b444a74a44 change user agent so that self hosted instances don't point to commafeed.com 2016-01-18 10:01:05 +01:00
Athou
d43820cc82 change npm install log level to info 2016-01-08 16:12:15 +01:00
Athou
e74e8fe1c2 Merge pull request #769 from matrixik/patch-1
[add] css ids for toolbar
2015-11-30 10:09:33 +01:00
Dobrosław Żybort
9eb6e8ec27 [add] css ids for toolbar 2015-11-30 09:48:20 +01:00
Athou
fae94d3696 jdbc drivers upgrade 2015-11-25 16:50:42 +01:00
Athou
68e5ed64c9 dropwizard upgrade 2015-11-25 16:49:18 +01:00
Athou
f912d3b8bd swagger upgrade 2015-11-25 16:44:28 +01:00
Athou
fc03d2ee91 Merge pull request #768 from giucal/master
Little contribution to the Italian translation
2015-11-24 06:54:19 +01:00
Giuseppe Calabrese
523b2b8db4 Fixed a couple typos.
I felt free to change the `filtering_expression_help` and make it less ambiguous.
2015-11-23 22:30:11 +01:00
Giuseppe Calabrese
d547e9b6d7 Fixed some translation. 2015-11-23 21:22:49 +01:00
Athou
71efc9f854 fix #766 2015-11-07 23:45:04 +01:00
Athou
4f289f7467 Merge pull request #764 from JmsBnz/patch-2
Update it.js
2015-11-03 11:31:13 +01:00
JmsBnz
02ef8bee71 Update it.js
Some translation fixes
2015-10-31 11:38:21 +01:00
Athou
ff5c1b00d7 Merge pull request #762 from ebraminio/patch-4
Add magnet links support
2015-10-21 15:44:46 +02:00
ebraminio
30264be311 Add magnet links support 2015-10-19 23:45:53 +03:30
Athou
8ea44ab8c7 Merge pull request #761 from ebraminio/patch-3
Use correct characters for ru lang
2015-10-10 06:28:30 +02:00
ebraminio
1b8ff7ca61 Use correct characters for ru lang
It is similar but works better on some font setups
2015-10-10 00:45:50 +03:30
Athou
f00a066c22 languages should start with an uppercase (fix #759) 2015-09-01 16:58:18 +02:00
Athou
859cf468aa add openjdk ppa on ubuntu lts (fix #756) 2015-08-27 12:45:37 +02:00
Athou
5b486a917b dropwizard upgrade 2015-08-26 17:50:20 +02:00
Athou
9ace6b70f0 frontend-maven-plugin upgrade (#747) 2015-08-22 03:01:18 +02:00
Athou
447029ae70 skip jsoup parsing for null strings (#754) 2015-08-19 11:10:02 +02:00
Hubcapp
83f26cde53 Merge pull request #4 from Athou/master
pull latest commits from Athou's main branch to my fork
2015-08-19 01:52:13 -05:00
Athou
8ac52690fd fix wrong parameter name (#752) 2015-08-18 13:14:35 +02:00
Athou
6934b2bd27 remove println 2015-08-17 16:30:27 +02:00
Athou
6647e4fcd4 additional timer metrics 2015-08-14 12:58:55 +02:00
Athou
21710f55f3 proxy image enclosures too (#750) 2015-08-07 10:07:42 +02:00
Athou
27bd9a7489 fix test (#750) 2015-08-06 10:42:04 +02:00
Athou
630d37125c hide enclosure if already in entry content (fix #748) 2015-08-05 09:45:07 +02:00
Athou
9424237534 cleanup 2015-07-27 14:38:52 +02:00
Athou
cba3fbeb5f generate swagger file before running gulp (#746) 2015-07-25 08:48:56 +02:00
Athou
58778ccf43 dropwizard upgrade 2015-07-10 09:05:01 +02:00
Athou
6c61d47d78 swagger.json no longer generated at runtime 2015-07-09 16:08:31 +02:00
Athou
35e02f9d98 querydsl upgrade 2015-07-09 12:34:54 +02:00
Athou
58c1650863 make mvnw executable 2015-07-05 14:10:04 +02:00
Athou
9b14ffa14c update readme to use maven wrapper 2015-07-04 17:10:16 +02:00
Athou
96c09bf4cd ending quote missing 2015-07-04 17:05:03 +02:00
Athou
737cec744a fix mvnw on windows 2015-07-04 17:02:23 +02:00
Athou
13ed92bb94 add maven-wrapper 2015-07-04 09:06:47 +02:00
Athou
076594c78e force filter expression to lowercase 2015-06-29 12:56:17 +02:00
Athou
b6b1b4ebbe fix build, 2.0.1 has been deleted (https://github.com/dlmanning/gulp-sass/issues/305) 2015-06-26 15:05:10 +02:00
Athou
4007f37492 maven 3.3 setup instructions 2015-06-26 14:13:14 +02:00
Athou
532d671feb upgrade frontend-maven-plugin (fix #743) 2015-06-26 14:01:42 +02:00
Athou
fed7a1ac84 rewrite query using subqueries 2015-06-25 11:20:50 +02:00
Athou
ddfd170ea8 make eclipse mars happy 2015-06-24 11:42:01 +02:00
Athou
bae5c67dfa dropwizard upgrade 2015-06-19 08:41:23 +02:00
Athou
84f51603fb bump version 2015-06-19 08:33:43 +02:00
Athou
f73ddc03e9 readme update 2015-06-19 08:33:12 +02:00
Athou
a16d9877cc 2.2.0 release 2015-06-19 08:26:08 +02:00
Athou
c24e9e083c changelog update 2015-06-19 08:25:12 +02:00
Athou
101602c6f6 return the correct media type for favicons (fix #736) 2015-06-08 15:53:17 +02:00
Athou
18a7bd1fd1 check both urls for favicon 2015-06-08 15:53:16 +02:00
Athou
dfbd556bb8 Revert "angularjs 1.4.0 upgrade", fixes android navigation (fix #739) 2015-06-08 06:59:05 +02:00
Athou
040cdde8ba jcl-over-slf4j is already included 2015-06-04 15:05:23 +02:00
Athou
06373480ae various upgrades 2015-06-04 14:55:36 +02:00
Athou
5713a78f2e exclude guava-jdk5 as guava is already included 2015-06-04 14:52:15 +02:00
Athou
b9f2f17a24 angularjs 1.4.0 upgrade 2015-06-04 14:46:59 +02:00
Athou
9adc993472 fix youtube favicon fetching 2015-06-04 12:29:22 +02:00
Athou
dcd5f3d529 preserve filter when a feed is rearranged with drag&drop 2015-06-04 11:50:33 +02:00
Athou
18e70a0e6b fix opml import without head element (fix #737) 2015-06-02 21:21:49 +02:00
Athou
5ad57d1608 upgrade minify-css 2015-06-02 21:10:55 +02:00
Athou
74eaf48ceb upgrade gulp-minify-css and remove workaround (#734) 2015-06-02 08:45:33 +02:00
Athou
30bb0cb291 Merge pull request #735 from RavenB/master
fix for #734 and allowing version bump of minicss
2015-06-01 08:54:57 +02:00
RavenB
b50e6b93bd Merge pull request #2 from RavenB/RavenB-patch-2
version bump to latest
2015-05-31 20:39:49 +02:00
RavenB
a0b5a1462d version bump to latest
minicss in gulpfile was corrected gulp-minify can now be safely upgraded.
2015-05-31 20:39:32 +02:00
RavenB
4910f93c94 Merge pull request #1 from RavenB/RavenB-patch-1-1
fix for #734 and allowing version bump of minicss
2015-05-31 20:37:41 +02:00
RavenB
4a52bd0cb7 fix for #734 and allowing version bump of minicss 2015-05-31 20:35:43 +02:00
Athou
b0bfb73952 fix #734 2015-05-31 09:53:45 +02:00
Athou
69d049a69a Merge pull request #732 from LelixSuper/patch-1
Update it.js (Italian language)
2015-05-31 09:41:17 +02:00
Athou
7d75153362 instructions on how to update an existing openshift installation 2015-05-27 10:14:43 +02:00
Athou
748bfa31ae build dependencies upgrade 2015-05-27 09:51:46 +02:00
Athou
e7d995edbc node/npm upgrade 2015-05-27 09:48:28 +02:00
LelixSuper
a144fb2e48 Update it.js
Translated all the strings in Italian language
2015-05-23 12:33:31 +02:00
Athou
7521013e11 fix openshift start script (#731) 2015-05-21 11:58:48 +02:00
Athou
c6321fc6b2 rename gulp task 2015-05-21 11:56:52 +02:00
Athou
7d92d5d096 Merge pull request #730 from ebraminio/patch-2
Make manifest.json accessible
2015-05-21 11:55:30 +02:00
ebraminio
ab201d5016 Make manifest.json accessible
https://commafeed.com/manifest.json is not accessible currently
2015-05-17 01:16:05 +04:30
Athou
efa38d5ee9 store and expose entry categories (#727) 2015-05-03 09:19:45 +02:00
Athou
e8769d09a8 update readme (fix #724) 2015-05-03 09:08:49 +02:00
Athou
a216444825 upgrade dependencies 2015-04-29 12:45:05 +02:00
Athou
fee3e10e6b return a more explicit error message (fix #723) 2015-04-24 16:14:18 +02:00
Athou
4d71a8f3c2 rewrite query using not exists 2015-04-23 08:55:47 +02:00
Athou
fc104b0b01 fix eclipse infinite build loop 2015-04-22 13:04:16 +02:00
Athou
3dcb351b36 Merge pull request #722 from LelixSuper/patch-1
Update it.js
2015-04-15 16:37:53 +02:00
LelixSuper
600d05d08f Update it.js
Partial update of the translation of the Italian language.
I council calls only Italian to translate, because the Italian language is complex enough.
2015-04-15 16:19:34 +02:00
Athou
6b6ff70ad3 dropwizard release 2015-04-08 15:15:49 +02:00
Athou
891f660738 Merge pull request #720 from JmsBnz/patch-1
Update it.js
2015-04-07 19:08:28 +02:00
JmsBnz
6901b9b728 Update it.js
Some adjustment to the italian translation, not complete yet.
2015-04-07 18:13:23 +02:00
Athou
c7f211a7f8 ubuntu LTS has maven 3.0.5 and this upgrade does not add much 2015-04-03 12:45:28 +02:00
Athou
c48ea1152c fix jenkins build 2015-04-01 22:05:39 +02:00
Athou
f5d0eb94b4 verious upgrades 2015-04-01 19:46:48 +02:00
Athou
cebeef04a0 remove one to many relationships 2015-03-30 11:31:58 +02:00
Athou
3e77a83ca6 unnecessary optimization 2015-03-30 10:55:42 +02:00
Athou
c872b335e7 correctly remove user and all its dependencies 2015-03-30 10:14:40 +02:00
Athou
cc1e173552 remove role link from user 2015-03-30 09:43:44 +02:00
Athou
35e0567705 fix exception when saving role for a non-existing user 2015-03-30 08:32:57 +02:00
Athou
fb2add305e fix build 2015-03-29 21:34:47 +02:00
Athou
74d4c18c4c keep only remove cascading 2015-03-29 21:28:36 +02:00
Athou
da3ce07485 fix documentation 2015-03-24 16:40:20 +01:00
Athou
c7ab179a9e cleanup 2015-03-19 13:01:03 +01:00
Athou
6fd11fcd56 don't load the feed, just update it 2015-03-19 12:35:38 +01:00
Athou
3966cf165b log exceptions in trace level only 2015-03-19 12:32:42 +01:00
Athou
0b2ada5d1c depend directly on httpclient 2015-03-19 11:22:56 +01:00
Athou
4278101bbe maven plugins update 2015-03-19 11:14:44 +01:00
Athou
8b43af49fc enable batch inserts/updates 2015-03-19 11:13:34 +01:00
Athou
6e29e8426b various js upgrades 2015-03-08 13:11:10 +01:00
Athou
af11d3c771 h2 upgrade 2015-03-06 10:36:54 +01:00
Athou
e5c5af4d57 dropwizard 0.8.0 released 2015-03-06 10:36:53 +01:00
Athou
3dbdf5adf2 smaller transactions under heavy load 2015-03-05 22:21:21 +01:00
Athou
4d7a030b70 dependencies upgrade 2015-03-01 13:19:33 +01:00
Athou
3351262dd7 swagger upgrade 2015-02-26 06:39:24 +01:00
Athou
5ec4377502 pgsql driver upgrade, no longer ships with a slf4j implementation 2015-02-26 06:39:18 +01:00
Athou
9c8402c3a5 dropwizard upgrade (jetty vulnerability fix) 2015-02-26 06:38:55 +01:00
Athou
928a45e48e skip entries that were deleted by the cleanup task 2015-02-25 15:14:01 +01:00
Athou
1d088c5eae create transaction only when needed 2015-02-23 15:33:52 +01:00
Athou
cdcf81ab7c preserve order during opml export (#707) 2015-02-23 14:52:22 +01:00
Athou
9f196bafe9 preserve order during opml import (#707) 2015-02-23 14:52:21 +01:00
Athou
5c9e1406a1 correctly display error message when email is not found during password recovery 2015-02-22 07:18:55 +01:00
Athou
0b42e00b29 exclude commons logging as it's handled by logback 2015-02-20 17:10:02 +01:00
Athou
88b98a138f swagger upgrade 2015-02-20 17:06:33 +01:00
Athou
136c37885d dropwizard upgrade 2015-02-20 16:41:20 +01:00
Athou
812988b31a log entries deleted 2015-02-20 08:51:33 +01:00
Athou
191680a01b correctly set timeout on query 2015-02-19 13:00:47 +01:00
Athou
467d1a754d distinct not needed as we don't have duplicates in the id column 2015-02-19 12:43:40 +01:00
Athou
d1973922cd check for empty lists too 2015-02-19 08:30:44 +01:00
Athou
3b7689975d unit of work not needed here 2015-02-18 12:30:34 +01:00
Athou
3386a71c5e smaller cleanup batches 2015-02-18 12:03:28 +01:00
Athou
7bb65a5e76 fix indentation 2015-02-17 16:51:37 +01:00
Athou
f3a9c8e0e2 jdom and mockito upgrades 2015-02-17 09:06:07 +01:00
Athou
22861ca8d0 Merge pull request #703 from ebraminio/master
Add fullscreen Android/iOS app capability
2015-02-15 09:21:20 +01:00
Athou
19118ea241 exclude slf4j simple 2015-02-13 09:34:34 +01:00
Ebrahim Byagowi
4a9dc7249f Add fullscreen Android/iOS app capability
* https://developer.chrome.com/multidevice/android/installtohomescreen
* https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
2015-02-12 23:46:43 +00:00
Athou
5dad9c2eb8 dependencies upgrade 2015-02-11 19:16:42 +01:00
Athou
d6b35b00b9 postgresql tweaks 2015-02-11 10:35:14 +01:00
Athou
fda8ab500b Merge pull request #702 from xmgz/patch-3
Actualizado gl.js Galego (gl, gl_ES)
2015-01-23 09:02:36 +01:00
Xose M.
66df421de2 Actualizado gl.js Galego (gl, gl_ES)
novas entradas respecto a versión antiga
2015-01-23 08:36:22 +01:00
Athou
33c62f08ca this is not needed 2015-01-21 15:42:09 +01:00
Athou
b660602809 node and npm upgrade 2015-01-21 15:42:03 +01:00
Athou
6dfce2ca30 use recent version of maven 2015-01-21 15:10:45 +01:00
Athou
655e20e99e use openshift nexus mirror 2015-01-21 14:20:19 +01:00
Athou
f2b80bdc08 build on openshift using jdk8 2015-01-21 12:31:54 +01:00
Athou
10af873fa5 build deps upgrade 2015-01-20 09:55:21 +01:00
Athou
d87a5b14f8 dropwizard upgrade 2015-01-18 08:04:02 +01:00
Athou
b87a18b993 various upgrades 2015-01-12 10:14:40 +01:00
Athou
c4185034e4 urlAfterRedirect was always null (#699) 2015-01-12 09:57:30 +01:00
Athou
9d64426b00 add testcase (#699) 2015-01-12 09:56:55 +01:00
Athou
c81cc8bea4 fix relative url detection (#699) 2015-01-12 09:56:34 +01:00
Athou
90e680d6be upgrade jdom to 2.0.5 for performance reasons (https://github.com/hunterhacker/jdom/issues/112) 2015-01-06 09:27:18 +01:00
Athou
04c0833111 run bower during maven build 2015-01-05 14:56:31 +01:00
Athou
06151eab3b dependencies upgrade 2015-01-04 06:59:21 +01:00
Athou
3dcb8590f6 project modernized, no longer needs to scan during every build 2015-01-04 06:59:21 +01:00
Athou
a9b313aa4a Merge pull request #697 from bizimakin/patch-2
Update README.md
2014-12-28 15:34:26 +01:00
Akın Ayturan
1f2e35060b Update README.md
doomrobo/CommaFeed-Android-Reader has been discontinued. - ( https://github.com/doomrobo/CommaFeed-Android-Reader)
2014-12-28 16:14:49 +02:00
Athou
a96862fffa more tests 2014-12-18 16:31:35 +01:00
Athou
68cb8e194d rewrite using lambda 2014-12-18 14:09:15 +01:00
Athou
c164926c54 rewrite using lambda 2014-12-18 10:13:44 +01:00
Athou
de7516116d deps upgrade 2014-12-18 09:37:47 +01:00
Athou
fccfe5b088 Merge pull request #695 from bizimakin/patch-1
Update tr.js
2014-12-16 08:45:35 +01:00
Akın Ayturan
23aa5fa0a3 Update tr.js
when i see on the site :)
2014-12-16 09:08:14 +02:00
Athou
d384c0a141 mockito upgrade 2014-12-15 16:02:54 +01:00
Athou
18058c2a36 slf4j upgrade 2014-12-15 16:02:47 +01:00
Athou
71727202f3 h2 upgrade 2014-12-15 16:01:27 +01:00
Athou
eee0b949de coherent logging string 2014-12-15 15:54:39 +01:00
Athou
3cbbb67b0c memory optimizations 2014-12-15 11:20:27 +01:00
Athou
7879f66e78 test for html entities 2014-12-15 11:20:26 +01:00
Athou
c14ac37495 Merge pull request #694 from bizimakin/patch-1
Update tr.js
2014-12-14 12:47:48 +01:00
Akın Ayturan
73a77183aa Update tr.js 2014-12-14 13:09:35 +02:00
Akın Ayturan
09cfa21091 Update tr.js
a little change
2014-12-14 13:07:33 +02:00
Athou
c193571ece Merge pull request #693 from bizimakin/patch-2
Update README.md
2014-12-13 14:04:40 +01:00
Athou
04bc92b071 Merge pull request #692 from bizimakin/patch-1
Update tr.js
2014-12-13 14:04:19 +01:00
Akın Ayturan
94e58a449c Update README.md 2014-12-13 12:17:37 +02:00
Akın Ayturan
9d044195aa Update tr.js 2014-12-13 12:08:26 +02:00
Athou
caff34cc3b small perf boost 2014-12-12 15:48:40 +01:00
Athou
34c5c0b1f7 fix #691 (reopens #685) 2014-12-12 15:17:36 +01:00
Athou
906801e13c runtime deps upgrade 2014-12-12 12:03:07 +01:00
Athou
dad4c6b866 build deps upgrade 2014-12-12 11:58:51 +01:00
Athou
090462022f call bower prune before calling bower install 2014-12-12 11:56:07 +01:00
Athou
cbf9f65fb4 use released version of zocial 2014-12-12 11:53:20 +01:00
Athou
5a493cd55d rewrite using lambda 2014-12-12 11:25:31 +01:00
Athou
dfc204ef05 trim some swagger fat 2014-12-12 11:19:45 +01:00
Athou
56c6e2d29c fix modernizer warnings 2014-12-12 11:05:29 +01:00
Athou
db03dd12a0 use java8 optional 2014-12-12 11:05:28 +01:00
Athou
6c67e6363a return charset instead of stirng 2014-12-12 11:05:28 +01:00
Athou
e2888beb4c add modernizer plugin 2014-12-12 11:05:27 +01:00
Athou
bba9166885 use lombok 2014-12-12 10:55:36 +01:00
Athou
504e4eab3e rewrite using lambdas 2014-12-12 10:55:35 +01:00
Athou
2e475c35cc unit of work refactoring 2014-12-12 08:59:33 +01:00
Athou
ccf18758fb now requires java8 (fix #688) 2014-12-12 08:31:18 +01:00
Athou
68f9852790 2.1.0 release 2014-12-12 08:27:49 +01:00
Athou
d0150de003 discourage h2 usage (fix #689) 2014-12-11 15:55:40 +01:00
Athou
e2b792335b split orphan cleanup task in two 2014-12-11 08:46:09 +01:00
Athou
ece38c9e59 only add enclosure if there's one 2014-12-11 08:32:48 +01:00
Athou
a19b5090bf expose enclosures in generated feeds (fix #690) 2014-12-10 18:54:35 +01:00
Athou
e4b3c35892 extract version as a variable 2014-12-09 15:30:48 +01:00
Athou
4b229a759a frontend plugin update 2014-12-09 10:57:52 +01:00
Athou
1e9e42ac48 liquibase upgrade for faster app startup, remove when 3.3.1 is included in dropwizard 2014-12-09 10:35:24 +01:00
Athou
245a48f66e guice update 2014-12-09 10:27:56 +01:00
Athou
e6d8397550 optimize opml export (fix #687) 2014-12-08 08:07:20 +01:00
Athou
d59bd43846 querydsl update 2014-12-06 17:21:14 +01:00
Athou
c1579c83c7 junit update 2014-12-06 17:21:06 +01:00
Athou
4d782e60ad readme update 2014-12-05 08:22:00 +01:00
Athou
c702f47927 more config checks on startup 2014-12-04 14:04:03 +01:00
Athou
9110cfd923 new setting for deleting old entries (fix #524) 2014-12-04 10:27:07 +01:00
Athou
e40dd14bbf reduce default sql logging level for dev 2014-12-04 09:12:08 +01:00
Athou
90aaae9959 Merge pull request #686 from ebraminio/master
Support Android 5.0 bits
2014-12-03 18:15:28 +01:00
Ebrahim Byagowi
e81dda0fa8 Support Android 5.0 bits
http://updates.html5rocks.com/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
2014-12-03 16:57:35 +00:00
Athou
f93796d036 fix for "handshake alert: unrecognized_name" (fix #685) 2014-12-01 16:19:30 +01:00
Athou
d06359cb81 remove deb package creation (fix #684) 2014-12-01 16:02:41 +01:00
Athou
8b68fb578f swagger upgrade (no longer includes logback.xml) 2014-11-27 22:04:13 +01:00
Athou
cca300e419 simpler support for single quotes (#681) 2014-11-26 15:25:38 +01:00
Athou
77c3ec0bbe support for single quotes (#681) 2014-11-26 14:19:08 +01:00
Athou
ed81fc576a fix tagging issues 2014-11-25 10:30:14 +01:00
Athou
435fcb9669 unused method 2014-11-24 16:27:32 +01:00
Athou
9020d95b62 better character encoding detection 2014-11-24 14:55:20 +01:00
Athou
84d7a501d4 directory name change since it's devicejs on bower 2014-11-24 14:17:38 +01:00
Athou
e65dd49d69 use released version of device.js 2014-11-24 13:13:43 +01:00
Athou
a705cbe6c2 instantiate filtering service only once 2014-11-24 12:56:55 +01:00
Athou
60b8af3860 typos 2014-11-24 12:53:13 +01:00
Athou
9ac4187aa8 let the module decide what tasks are registered 2014-11-24 12:49:54 +01:00
Athou
6419d29489 demo account creation is now skipped by default 2014-11-23 13:27:34 +01:00
Athou
4684e43f42 relax opml import conditions (#677) 2014-11-22 22:29:56 +01:00
Athou
a477c9fa6d fix error display 2014-11-22 11:53:53 +01:00
Athou
d1be331f99 handle nulls correctly 2014-11-22 11:53:46 +01:00
Athou
cbc792d406 use the old id generator as it's the one we were using before dropwizard 2014-11-21 16:50:20 +01:00
Athou
0313c5c560 fix placeholder display 2014-11-21 12:04:59 +01:00
Athou
18aa2fcd92 fix subscription error handling 2014-11-21 10:06:48 +01:00
Athou
10461941d7 fix nightsky loadingbar color 2014-11-21 10:01:34 +01:00
Athou
e6050219bc log runtime exceptions 2014-11-20 14:50:24 +01:00
Athou
81481c37fe use daemon threads 2014-11-20 12:26:48 +01:00
Athou
5ea92a7d18 jedis upgrade 2014-11-18 17:27:06 +01:00
Athou
f40630aced upgrade dev dependencies 2014-11-18 12:43:23 +01:00
Athou
81850acdfe enable livereload 2014-11-18 12:24:36 +01:00
Athou
6819d5aa8b highlight unread categories 2014-11-18 12:13:13 +01:00
Athou
2aef4e5d05 typo 2014-11-17 16:06:31 +01:00
Athou
6d4d2c3e7e lang() is deprecated 2014-11-17 16:05:19 +01:00
Athou
87bcaa4731 nightsky theme tweaks 2014-11-17 15:37:19 +01:00
Athou
5d2378f291 swagger ui upgrade 2014-11-17 14:44:05 +01:00
Athou
253507d14b momentjs upgrade 2014-11-17 14:37:48 +01:00
Athou
548fb7099b ui router upgrade 2014-11-17 14:28:24 +01:00
Athou
0dd7c777ee bootstrap upgrade 2014-11-17 14:24:32 +01:00
Athou
6812bf2388 jquery upgrade 2014-11-17 14:24:27 +01:00
Athou
12bcbfa9f7 angular upgrade 2014-11-17 14:24:16 +01:00
Athou
b5dfd371d9 typo 2014-11-17 06:44:11 +01:00
Athou
e09d7fb103 new dark theme 'nightsky' 2014-11-14 16:10:06 +01:00
Athou
0fe3afe254 remove underline on focused link 2014-11-12 09:05:25 +01:00
Athou
db50d50c19 remove dotted lines on focused links 2014-11-11 20:45:55 +01:00
Athou
691bdb1512 force g++ install (fix #673) 2014-11-11 08:55:29 +01:00
Athou
d50b712bca commons-codec upgrade 2014-11-10 10:23:01 +01:00
Athou
3b68e4f32b changelog update 2014-11-10 10:18:20 +01:00
Athou
259b9a90dd clarify help text 2014-11-10 10:16:15 +01:00
Athou
f4c5fd7eb4 wrap class cast exceptions 2014-11-10 10:14:19 +01:00
Athou
3cd42d03f0 reduce horizontal form height 2014-11-10 10:10:41 +01:00
Athou
3497b82e8c liquibase upgrade seems to change checksum here 2014-11-10 10:10:25 +01:00
Athou
15a24e4e75 fix components layout 2014-11-10 10:04:29 +01:00
Athou
96837f908e refactor into a service 2014-11-10 09:49:59 +01:00
Athou
4ea5ebbf9e Merge branch 'entry-filtering' 2014-11-10 09:20:26 +01:00
Athou
281e015376 help block added 2014-11-10 09:12:10 +01:00
Athou
5825a16aff changelog update 2014-11-09 21:25:03 +01:00
Athou
2586a8c433 dropwizard upgrade 2014-11-09 21:13:39 +01:00
Athou
9f7c9c3428 unused code cleanup 2014-11-07 15:02:38 +01:00
Athou
9790ba735b facebook favicon fetcher 2014-11-07 15:02:11 +01:00
Athou
e3dbcac9fb dependencies upgrade 2014-11-07 10:59:04 +01:00
Athou
1c99929429 exclude terms from search (fix #666) 2014-11-07 10:53:49 +01:00
Athou
9b2cdbbb18 fix readability icon position on safari (fix #651) 2014-11-07 10:26:58 +01:00
Athou
928cf1220e config placeholder 2014-11-07 09:41:01 +01:00
Athou
c0557856a3 configurable "from" address (fix #664) 2014-11-07 09:38:55 +01:00
Athou
97c2cc3d15 unit tests for opml importer (#636) 2014-11-07 09:00:53 +01:00
Athou
a94ef980bb cannot loop forever 2014-11-07 08:46:09 +01:00
Athou
eea0c24d2b engine is now strict and throws exceptions instead of returning nulls 2014-11-04 16:25:34 +01:00
Athou
c8fded3c56 don't crash if we cannot evaluate the filter 2014-11-04 16:19:50 +01:00
Athou
8f2ba5e186 initial ui for entry filtering 2014-11-04 16:01:37 +01:00
Athou
5ce2823d0b strip html tags 2014-11-04 15:22:43 +01:00
Athou
a0c70d326f class not used anymore 2014-11-04 15:09:45 +01:00
Athou
5f28fd4114 initial support for entry filtering 2014-11-04 15:07:12 +01:00
Athou
7151db0909 Merge pull request #662 from Athou/dw8
dropwizard upgrade
2014-11-01 11:20:44 +01:00
Athou
e82888f8f3 Merge pull request #661 from Hubcapp/master
Mark Read button now respects filters
2014-11-01 11:18:50 +01:00
Tyler Gebhard
4fb60a6ec6 The "Mark Read" button now only marks the visible entries as read, instead of the entire feed regardless of what keywords you've entered. This should allow better management of RSS feeds, if you don't want to ever look at any content which has certain keywords in it. 2014-11-01 02:10:31 -04:00
Hubcapp
27f22f6094 Merge pull request #3 from Athou/master
back up to date
2014-11-01 02:01:24 -04:00
Athou
7497a0151a upgrade instructions 2014-10-29 08:46:24 +01:00
Athou
41f133afb1 liquibade upgrade fix 2014-10-29 08:46:24 +01:00
Athou
4b15ecbc1b more comments 2014-10-29 08:46:23 +01:00
Athou
6498130850 remove app.contextPath setting 2014-10-29 08:46:23 +01:00
Athou
24bd1121af commons-lang upgrade to v3 2014-10-29 08:46:23 +01:00
Athou
3cccf741d6 dropwizard upgrade to 0.8.0 2014-10-29 08:46:10 +01:00
Athou
0a2d2c3f43 fix travis build 2014-10-29 08:42:32 +01:00
Athou
969da0f2a6 let's release 2014-10-29 08:29:32 +01:00
Athou
2061b68a2f method not used anymore 2014-10-29 08:27:04 +01:00
Athou
443dea5055 huge perf boost 2014-10-29 08:26:53 +01:00
Athou
a4c6365ede pom cleanup 2014-10-28 14:27:15 +01:00
Athou
c9c044386e Merge pull request #659 from Hubcapp/master
update README to encompass all directions to set up development environment
2014-10-27 10:12:33 +01:00
Hubcapp
2744f8285c Merge pull request #2 from Athou/master
update README to encompass all directions to set up development environment
2014-10-27 05:01:06 -04:00
Tyler Gebhard
7bf5f20b06 Moving "Local development" to the bottom; it's become really long, and I think there are more contributors who make themes and translate than contributors who need to set up a development environment.. 2014-10-27 04:56:07 -04:00
Athou
b43aa84c2a enable wadl 2014-10-27 09:54:06 +01:00
Tyler Gebhard
dd27d88309 Nope, more revisions. But this time for sure it looks good. 2014-10-27 04:53:13 -04:00
Tyler Gebhard
8dc36a72b2 I think it's done this time. 2014-10-27 04:51:20 -04:00
Tyler Gebhard
d3ca301675 Replaced arrows, revised step 1 2014-10-27 04:47:30 -04:00
Tyler Gebhard
43e3469e63 Still not happy with the formatting; removed all "\r"s 2014-10-27 04:44:21 -04:00
Tyler Gebhard
cdc3dc6740 Trying to fix formatting. 2014-10-27 04:40:53 -04:00
Tyler Gebhard
6fba8b61e7 Updating local development section to be idiot-proof. Hopefully, it's not too specific. 2014-10-27 04:34:28 -04:00
Hubcapp
b34594a1dc Merge pull request #1 from Athou/master
Merge latest changes from Athou to Hubcapp
2014-10-27 04:19:12 -04:00
Athou
19964d253e fix youtube icons (#658) 2014-10-27 05:23:36 +01:00
Athou
165f3ed25a revert to using gif for default icon 2014-10-26 19:07:52 +01:00
Athou
5058290103 remove unused images 2014-10-26 18:27:22 +01:00
Athou
358a6029a1 cache default (missing) favicon too 2014-10-26 18:27:21 +01:00
Athou
fa4bfa729d fix favicon caching 2014-10-26 18:27:20 +01:00
Athou
9c9e43cf46 readme update (fix #655) 2014-10-26 12:34:33 +01:00
Athou
b7e5bd0144 changelog update 2014-10-26 12:34:21 +01:00
Athou
58dc6f5832 Merge branch 'Hubcapp-master' 2014-10-26 12:26:30 +01:00
Athou
f409af1c37 rewrite favicon fetcher 2014-10-26 12:25:44 +01:00
Tyler Gebhard
9e0c94f1a4 changes to the way favicons are retrieved for YouTube feeds. Now instead of fetching the YouTube logo, it fetches the YouTube user's custom thumbnail. 2014-10-26 03:03:02 -04:00
Athou
3794d61a77 readme update (fix #654) 2014-10-24 11:15:17 +02:00
Athou
d22da54d53 Merge pull request #652 from rationalrevolt/master
Refactor unit tests using DRY, add tests for api login
2014-10-23 05:36:11 +02:00
Sankaranarayanan Viswanathan
8e34c44e0d Refactor unit tests using DRY, add tests for api login 2014-10-22 22:31:36 -04:00
Athou
b71434acf6 use dropwizard built-in executor service facilities 2014-10-22 15:36:21 +02:00
Athou
7e158ed9b9 for some reason, injecting the session helper is not working here 2014-10-22 11:58:03 +02:00
Athou
2ec0d067f3 add logback config for tests 2014-10-22 10:55:42 +02:00
Athou
effc65b777 SecurityCheckProvider now depends on SessionHelper instead of the request 2014-10-22 10:52:01 +02:00
Athou
c48e248283 move session related classes to subpackage 2014-10-22 10:35:50 +02:00
Athou
f9e9a4547c remove unused variable 2014-10-22 10:34:55 +02:00
Athou
63e35aba6d remove unused generic type 2014-10-22 10:34:18 +02:00
Athou
8f852fb9ac performing post login activities for the custom css is not needed since the css is only retrieved on the website and api methods are going to get called right after this 2014-10-22 10:25:14 +02:00
Athou
bf6a13b43f Merge pull request #647 from rationalrevolt/userservice-tests
Remove dependency on HttpSession in UserService
2014-10-22 10:22:54 +02:00
Sankaranarayanan Viswanathan
12030f6ce9 Provide a SessionHelper to manage the session 2014-10-22 01:17:33 -04:00
Athou
07da878bba dependencies upgrade 2014-10-17 08:30:53 +02:00
Sankaranarayanan Viswanathan
8d5c3bdec8 Rename method 2014-10-11 13:37:11 -04:00
Sankaranarayanan Viswanathan
ce95772afa Delete method UserService.login(HttpSession) and copy body to callers 2014-10-11 13:29:29 -04:00
Sankaranarayanan Viswanathan
b9f27b2b00 Make cookieLogin handle HttpSession by itself 2014-10-11 13:24:12 -04:00
Sankaranarayanan Viswanathan
0059cabebe Cover SecurityCheckProvider.SecurityCheckInjectable.cookieLogin with tests 2014-10-11 13:18:09 -04:00
Sankaranarayanan Viswanathan
326ee79c8c Remove HttpSession dependency in UserService phase 1 complete 2014-10-09 20:53:38 -04:00
Sankaranarayanan Viswanathan
54cc265ee6 Refactored UserREST login to populate session itself 2014-10-09 08:38:50 -04:00
Sankaranarayanan Viswanathan
e38778b4d0 Added tests to UserREST.login 2014-10-09 08:31:34 -04:00
Athou
6152d3c14a Merge pull request #646 from rationalrevolt/userservice-tests
Additional tests on UserService.login and refactor
2014-10-09 05:05:23 +02:00
Sankaranarayanan Viswanathan
8a172170ea Test that PostLoginActivities are executed for user after auth success 2014-10-08 22:39:32 -04:00
Sankaranarayanan Viswanathan
64b5d64709 Inject PostLoginActivities and refactor 2014-10-08 22:18:16 -04:00
Sankaranarayanan Viswanathan
67d7315003 Extract afterLogin into a separate class 2014-10-08 21:39:39 -04:00
Sankaranarayanan Viswanathan
47da4a2a1a Change visibility to package private 2014-10-08 21:03:53 -04:00
Sankaranarayanan Viswanathan
174be9c2d1 Added additional tests for UserService login 2014-10-08 20:59:05 -04:00
Athou
9b68539322 fix wrong spacing 2014-10-08 06:56:01 +02:00
Athou
2a4660ffa6 Merge pull request #645 from rationalrevolt/userservice-tests
Added a couple of unit tests on login method of UserService
2014-10-08 06:50:03 +02:00
Sankaranarayanan Viswanathan
dce0cf7ee4 Added a couple of unit tests for UserService login 2014-10-08 00:31:49 -04:00
Sankaranarayanan Viswanathan
d6c39d4aba Add jcenter repository and mockito dependency to pom.xml 2014-10-07 23:14:03 -04:00
Athou
fd7e183f40 Merge pull request #642 from fabianofranz/master
Couple fixes
2014-10-07 20:38:29 +02:00
fabianofranz
bf78a80f29 Fixes OpenShift build 2014-10-07 15:07:54 -03:00
fabianofranz
0ff630b8bd Parenthesis in unread-counter is now on CSS 2014-10-07 13:52:31 -03:00
fabianofranz
49b9e3f278 Fixes OpenShift stop script which caused issues with git push 2014-10-07 13:52:31 -03:00
fabianofranz
a4cc65c6a4 Removed parenthesis from counter labels 2014-10-07 13:52:02 -03:00
Template builder
0b46187ac5 Creating template 2014-10-07 13:52:02 -03:00
Athou
14ef5af936 Merge pull request #641 from ebraminio/patch-1
Use split limit
2014-10-06 11:18:04 +02:00
ebraminio
539d9c6d0e Use split limit 2014-10-06 11:37:37 +03:30
Athou
56bcc5ef5e Merge pull request #623 from ebraminio/patch-1
Only checking 20 first words is usually enough
2014-10-06 09:58:11 +02:00
Athou
d6b0324e24 ubuntu ships maven3 now 2014-10-06 09:57:15 +02:00
Athou
ff044e2592 produce a debian/ubuntu package during build 2014-10-06 09:53:58 +02:00
Athou
3c7747ab97 Merge pull request #638 from rationalrevolt/refactorhttpgetter
Refactor content encoding interceptor out into a separate class
2014-10-03 06:42:15 +02:00
Sankaranarayanan Viswanathan
34d97221ed Rename internal method containsUnsupportedEncodings 2014-10-03 00:39:43 -04:00
Sankaranarayanan Viswanathan
84e78d34cd Refactor content encoding interceptor out into a separate class 2014-10-03 00:31:47 -04:00
Athou
ac73806aee dependency updates 2014-09-26 10:18:42 +02:00
Athou
2105e9a5c9 jedis upgrade 2014-09-23 15:21:34 +02:00
Athou
2a36cc4327 configurable redis pool (fix #629) 2014-09-22 09:51:55 +02:00
Athou
c3feaf9a15 lombok upgrade, project should compile faster 2014-09-19 16:41:49 +02:00
ebraminio
d8537a98aa Only checking 20 first words is usually enough 2014-09-13 22:56:17 +04:30
Athou
42a6001ba5 openjdk8 is not supported by travis 2014-09-13 10:30:11 +02:00
Athou
4d9eb35230 test on openjdk8 too 2014-09-13 10:26:35 +02:00
Athou
e4ac296a1f update badge to use travis 2014-09-13 10:25:50 +02:00
Athou
01b49e7864 should fix travis builds 2014-09-13 10:19:12 +02:00
Athou
bd0b85a8d2 typo fix 2014-09-13 10:11:10 +02:00
Athou
3d59a4c516 changelog update 2014-09-13 10:10:55 +02:00
Athou
08ceff0f03 travis support 2014-09-13 10:09:12 +02:00
Athou
d6ae88ac43 Merge pull request #624 from fabianofranz/master
Fixed Commafeed on OpenShift, added deployment instructions to README
2014-09-13 07:11:58 +02:00
fabianofranz
5c8f016dd6 Fixes OpenShift 2014-09-13 00:13:48 -03:00
Athou
17288017d8 Merge pull request #621 from ebraminio/master
Format test and remove volatile, probably not needed for here
2014-09-11 16:24:43 +02:00
Ebrahim Byagowi
1e2757b52f Use final instead volatile, probably needed for GWT but not here 2014-09-11 18:48:07 +04:30
Ebrahim Byagowi
0dce2f057e Format EstimateDirectionTest 2014-09-11 18:46:09 +04:30
Athou
e017c5c304 various dependency upgrades 2014-09-11 15:45:00 +02:00
Athou
a3e828f90a remove unused variable 2014-09-11 15:43:38 +02:00
Athou
74e5c24fdc fix import 2014-09-11 15:37:09 +02:00
Athou
76c0abaa22 Merge pull request #618 from ebraminio/master
Avoid GWT depedency by bringing simplified dir estimate logic
2014-09-11 15:33:53 +02:00
Ebrahim Byagowi
a52b5fd711 Avoid GWT depedency by bringing simplified dir estimate logic 2014-09-11 17:47:33 +04:30
Athou
ffa51406b6 fix error message display 2014-09-07 19:10:04 +02:00
Athou
0b3b267e63 categories are now deletable again 2014-08-30 16:36:11 +02:00
Athou
fcdb9d8257 dropwizard already has a filter for this 2014-08-22 20:23:31 +02:00
Athou
04943ca525 fix translations not loaded correctly 2014-08-22 20:17:13 +02:00
Athou
574d4a1223 changelog update 2014-08-22 18:19:58 +02:00
Athou
7349814cb2 ie ajax cache workaround 2014-08-22 18:01:06 +02:00
Athou
114c5eb356 [maven-release-plugin] prepare for next development iteration 2014-08-21 09:04:10 +02:00
Athou
191f861f6e [maven-release-plugin] prepare release commafeed-2.0.2 2014-08-21 09:04:01 +02:00
Athou
fac1fcc3a6 git over https 2014-08-21 09:01:54 +02:00
Athou
d0490c5eb5 scm properties 2014-08-21 08:54:18 +02:00
Athou
2673efa9fc fix scrolling of subscriptions list on mobile 2014-08-19 16:20:32 +02:00
Athou
d4bce7b0a1 plugin updates 2014-08-19 13:14:48 +02:00
Athou
ba4a7ce6ab add jar version to manifest, will be printed in stacktraces 2014-08-19 13:14:37 +02:00
Athou
58f10153ab override dropwizard's getname 2014-08-19 12:51:15 +02:00
Athou
e7b65e3f26 actually this works fine, the wrong constructor was injected 2014-08-19 12:49:31 +02:00
Athou
fe91473748 correctly handle error callback (fix #614) 2014-08-19 11:30:19 +02:00
Athou
0140402ad4 don't create a session if it does not exists 2014-08-19 07:34:07 +02:00
Athou
f56cba59ae correctly handle errors 2014-08-19 01:12:19 +02:00
Athou
fed74f05fc revert to using a static user agent, fixes issues with some sites refusing our http requests 2014-08-19 01:05:24 +02:00
Athou
0888f11257 less boilerplate 2014-08-19 01:04:07 +02:00
Athou
7205d5bb9c only queue if not already queued 2014-08-19 00:43:23 +02:00
Athou
17a5ef882f smaller session boundary 2014-08-18 15:30:25 +02:00
Athou
ea68dbc56f configurable session manager 2014-08-18 13:09:54 +02:00
Athou
0cec8af074 don't show jsessionid in url 2014-08-17 17:27:08 +02:00
Athou
f7d0fc5768 db pooling tweak 2014-08-17 16:56:38 +02:00
Athou
bcaab694c8 first try to login using api key 2014-08-17 16:56:23 +02:00
Athou
247a3d5ab3 enable @formatter:on and @formatter:off 2014-08-17 14:35:31 +02:00
Athou
8e262a1e10 guicing up 2014-08-17 14:16:30 +02:00
Athou
f63695bdc7 timeout is in millis but expected in seconds 2014-08-16 17:48:53 +02:00
Athou
b051613b62 merge properties service into configuration 2014-08-16 17:27:27 +02:00
Athou
b886379d34 configuration validation 2014-08-16 12:40:39 +02:00
Athou
2a780dd2bb changelog update 2014-08-16 12:32:06 +02:00
Athou
9cf7b80110 apiKey is in the query params not in the path (Athou/commafeed-newsplus#7) 2014-08-16 12:29:17 +02:00
Athou
8fee73f1d1 fetch i18n files using relative path (#613) 2014-08-16 12:21:25 +02:00
Athou
36edb9373b added config element for context path (fix #611) 2014-08-16 07:05:49 +02:00
Athou
374c4b265a query not used anymore 2014-08-15 19:21:39 +02:00
Athou
db0b685ae1 query rewritten with querydsl 2014-08-15 17:29:58 +02:00
Athou
23d33b8402 delete feed by feed as entries are now deleted in the same transaction as the feed 2014-08-15 15:30:24 +02:00
Athou
8a57be3e63 wrap calls in db session 2014-08-15 15:20:21 +02:00
Athou
823cb03f9b let hibernate clean entries 2014-08-15 15:09:48 +02:00
Athou
e96cbcb057 only reject response if status is 401 2014-08-15 15:04:16 +02:00
Athou
fa0e7bcb54 rome upgrade 2014-08-15 13:57:10 +02:00
Athou
20292a7742 user is logged in after registration 2014-08-15 12:49:10 +02:00
Athou
943bde7eed hide session management inside UserService 2014-08-15 12:46:52 +02:00
Athou
9701af0736 user update should proc with api key and cookie login too 2014-08-15 12:18:10 +02:00
Athou
1456cc40e1 link to metrics 2014-08-14 16:31:14 +02:00
Athou
dc1f88c44c remove old settings and save button as settings are read only now 2014-08-14 16:29:43 +02:00
Athou
55c916956f update changelog 2014-08-14 16:22:13 +02:00
Athou
51eda57618 dynamic user agent string 2014-08-14 16:19:06 +02:00
Athou
d6a55e1ec0 context not needed anymore 2014-08-14 16:10:07 +02:00
Athou
b78210421c ProxyPreserveHost no longer required 2014-08-14 12:45:00 +02:00
Athou
1324269f1d code cleanup 2014-08-14 11:40:30 +02:00
Athou
cda6cb5cc0 query not used anymore 2014-08-14 11:27:43 +02:00
Athou
c1b8619b26 toString() not needed 2014-08-14 10:21:36 +02:00
Athou
4203e25321 remove unused list 2014-08-14 10:21:21 +02:00
Athou
aa02c7b93a wrapping not needed 2014-08-14 09:40:40 +02:00
Athou
0ff477579b findbugs is now happy 2014-08-14 08:38:13 +02:00
Athou
62a8e8c119 prevent timing attacks by using a time-constant comparison algorithm 2014-08-13 17:08:42 +02:00
Athou
fa212e0911 readme update 2014-08-13 14:46:07 +02:00
Athou
c8ad902a60 initial changelog 2014-08-13 14:34:05 +02:00
Athou
f05515d7d6 finer transactions 2014-08-13 13:08:54 +02:00
Athou
95bbcce941 simplify queries 2014-08-13 12:59:06 +02:00
Athou
d6b98f1518 trigger inputs on login 2014-08-13 12:35:37 +02:00
Athou
bd9b1b11c5 don't use jersey dependency directly, keep jersey version in sync with dropwizard 2014-08-13 11:56:36 +02:00
Athou
e4c4960972 remove rest methods as those are scheduled now 2014-08-13 11:49:21 +02:00
Athou
2a26031261 not a good idea 2014-08-13 11:45:35 +02:00
Athou
1d6e212955 fix documentation link 2014-08-13 11:24:42 +02:00
Athou
9fa3743d21 disable autocomplete on profile page 2014-08-13 11:23:36 +02:00
Athou
7b373c79d9 fetch user from database instead of using the one in the session to avoid hibernate exception 2014-08-13 10:15:01 +02:00
Athou
4e9266e2d5 added comment 2014-08-13 10:12:18 +02:00
Athou
ea957e297c fix translations for zn and ms 2014-08-13 10:07:21 +02:00
Athou
9320b6beb8 units of work can now be chained 2014-08-13 10:01:38 +02:00
Athou
1319bf4a8c prepare next release version 2014-08-13 03:23:54 +02:00
Athou
78b1ec6e6a 2.0.1 2014-08-13 03:23:06 +02:00
Athou
6d4cbb889d increase connections in redis pool 2014-08-13 03:03:53 +02:00
Athou
27d16265d6 autofilled fields do not trigger model update, do it manually 2014-08-13 02:51:53 +02:00
Athou
9888e23cd9 next version 2014-08-12 20:49:00 +02:00
272 changed files with 13780 additions and 10227 deletions

18
.github/stale.yml vendored Normal file
View 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
View 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
View File

@@ -1,8 +1,12 @@
# config gile # config file
config.yml config.yml
# build directory # build directory
target target
target-ide
# database files
database
# log files # log files
log log
@@ -22,6 +26,7 @@ src/main/app/lib
.classpath .classpath
.settings .settings
.factorypath .factorypath
.checkstyle
# IntelliJ Idea files # IntelliJ Idea files
.idea .idea

7
.prettierrc Normal file
View File

@@ -0,0 +1,7 @@
{
"printWidth": 140,
"semi": false,
"tabWidth": 4,
"arrowParens": "avoid",
"endOfLine": "auto"
}

75
CHANGELOG Normal file
View File

@@ -0,0 +1,75 @@
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
- feed entries can now be sorted alphabetically
- fix facebook sharing
- fix layout on iOS
- postgresql driver update (fix for postgres 9.6)
- various internationalization fixes
- security fixes
v 2.3.0
- dropwizard upgrade 0.9.1
- feed enclosures are hidden if they already displayed in the content
- fix youtube favicons
- various internationalization fixes
v 2.2.0
- fix youtube and instagram favicon fetching
- mark as read filter was lost when a feed was rearranged with drag&drop
- feed entry categories are now displayed if available
- various performance and dependencies upgrades
- java8 is now required
v 2.1.0
- dropwizard upgrade to 0.8.0
- you have to remove the "app.contextPath" setting from your yml file, you can optionally use server.applicationContextPath instead
- new setting app.maxFeedCapacity for deleting old entries
- ability to set filtering expressions for subscriptions to automatically mark new entries as read based on title, content, author or url.
- ability to use !keyword or -keyword to exclude a keyword from a search query
- facebook feeds now show user favicon instead of facebook favicon
- new dark theme 'nightsky'
v 2.0.3
- internet explorer ajax cache workaround
- categories are now deletable again
- openshift support is back
- youtube feeds now show user favicon instead of youtube favicon
v 2.0.2
- api using the api key is now working again
- context path is now configurable in config.yml (see app.contextPath in config.yml.example)
- fix login on firefox when fields are autofilled by the browser
- fix scrolling of subscriptions list on mobile
- user is now logged in after registration
- fix link to documentation on home page and about page
- fields autocomplete is disabled on the profile page
- users are able to delete their account again
- chinese and malaysian translation files are now correctly loaded
- software version in user-agent when fetching feeds is no longer hardcoded
- admin settings page is now read only, settings are configured in config.yml
- added link to metrics on the admin settings page
- Rome (rss library) upgrade to 1.5.0
v 2.0.1
- the redis pool no longer throws an exception when it is unable to aquire a new connection
v2.0.0
- The backend has been completely rewritten using Dropwizard instead of TomEE, resulting in a lot less memory consumption and better overall performances.
See the README on how to build CommaFeed from now on.
- CommaFeed should no longer fetch the same feed multiple times in a row
- Users can use their username or email to log in

212
README.md
View File

@@ -1,90 +1,122 @@
CommaFeed [![Build Status](https://buildhive.cloudbees.com/job/Athou/job/commafeed/badge/icon)](https://buildhive.cloudbees.com/job/Athou/job/commafeed/) # CommaFeed [![Build Status](https://travis-ci.org/Athou/commafeed.svg?branch=master)](https://travis-ci.org/Athou/commafeed)
=========
Sources for [CommaFeed.com](http://www.commafeed.com/). Sources for [CommaFeed.com](http://www.commafeed.com/).
Google Reader inspired self-hosted RSS reader, based on Dropwizard and AngularJS. Google Reader inspired self-hosted RSS reader, based on Dropwizard and AngularJS.
CommaFeed is now considered feature-complete and is in maintenance mode.
Related open-source projects
---------------------------- ## Related open-source projects
Android apps: [News+ extension](https://github.com/Athou/commafeed-newsplus) - [Android app](https://github.com/doomrobo/CommaFeed-Android-Reader) 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) 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)
Deployment on your own server ## Deployment on your own server
-----------------------------
### The very short version (download precompiled package)
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).
mkdir commafeed && cd commafeed
For storage, you can either use an embedded H2 database or an external MySQL, PostgreSQL or SQLServer database. wget https://github.com/Athou/commafeed/releases/download/2.6.0/commafeed.jar
You also need Maven 3.x (and a Java 1.7+ JDK) installed in order to build the application. wget https://raw.githubusercontent.com/Athou/commafeed/2.6.0/config.yml.example -O config.yml
vi config.yml
To install maven and openjdk on Ubuntu, issue the following commands java -Djava.net.preferIPv4Stack=true -jar commafeed.jar server config.yml
sudo add-apt-repository ppa:natecarlson/maven3 ### The short version (build from sources)
sudo apt-get update
sudo apt-get install openjdk-7-jdk maven3 git clone https://github.com/Athou/commafeed.git
cd commafeed
# Not required but if you don't, use 'mvn3' instead of 'mvn' for the rest of the instructions. ./mvnw clean package
sudo ln -s /usr/bin/mvn3 /usr/bin/mvn cp config.yml.example config.yml
vi config.yml
On Windows and other operating systems, just download maven 3.x from the [official site](http://maven.apache.org/), extract it somewhere and add the `bin` directory to your `PATH` environment variable. java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml
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) ### The long version (same as the short version, but more detailed)
git clone https://github.com/Athou/commafeed.git 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).
cd commafeed
For storage, you can either use an embedded file-based H2 database or an external MySQL, PostgreSQL or SQLServer database.
Now build the application You also need the Java 1.8+ JDK in order to build the application.
mvn clean package To install the required packages to build CommaFeed on Ubuntu, issue the following commands
Copy `config.yml.example` to `config.yml` then edit the file to your liking. # if openjdk-8-jdk is not available on your ubuntu version (14.04 LTS), add the following repo first
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`. sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
java -jar target/commafeed.jar server config.yml
sudo apt-get install g++ build-essential openjdk-8-jdk
You can use nginx or apache as a proxy http server. Note that when using apache, the `ProxyPreserveHost on` option should be set in your config file.
# Make sure java8 is the selected java version
Local development sudo update-alternatives --config java
----------------- sudo update-alternatives --config javac
To start the dropwizard backend, use your IDE to run CommaFeedApplication as your main class, and pass `server config.dev.yml` as arguments to the program. 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)
To start the client-side webserver with watches on assets, run `gulp dev`. The server is now running on port 8082 and is proxying REST requests to dropwizard on port 8083.
git clone https://github.com/Athou/commafeed.git
cd commafeed
Translate CommaFeed into your language
-------------------------------------- Now build the application
Files for internationalization are located [here](https://github.com/Athou/commafeed/tree/master/src/main/app/i18n). ./mvnw clean package
To add a new language, create a new file in that directory. Copy `config.yml.example` to `config.yml` then edit the file to your liking.
The name of the file should be the two-letters [ISO-639-1 language code](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). 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`.
The language has to be referenced in the `src/main/app/js/i18n.js` file to be picked up.
java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml
Themes
--------------------- You can use a proxy http server such as nginx or apache.
To create a theme, create a new file `src/main/webapp/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. ## Translate CommaFeed into your language
Don't forget to reference your theme in `src/main/webapp/sass/app.scss` and in `src/main/webapp/js/controllers.js` (look for `$scope.themes`). Files for internationalization are located [here](https://github.com/Athou/commafeed/tree/master/src/main/app/i18n).
See [_test.scss](https://github.com/Athou/commafeed/blob/master/src/main/webapp/sass/themes/_test.scss) for an example. To add a new language, create a new file in that directory.
The name of the file should be the two-letters [ISO-639-1 language code](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
The language has to be referenced in the `src/main/app/js/i18n.js` file to be picked up.
Copyright and license
--------------------- ## Themes
Copyright 2013-2014 CommaFeed. 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.
Licensed under the Apache License, Version 2.0 (the "License"); 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`).
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: See [\_test.scss](https://github.com/Athou/commafeed/blob/master/src/main/app/sass/themes/_test.scss) for an example.
http://www.apache.org/licenses/LICENSE-2.0 ## Local development
Unless required by applicable law or agreed to in writing, software Steps to configuring a development environment for CommaFeed may include, but may not be limited to:
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1. `git clone https://github.com/Athou/CommaFeed` into some folder to get the project files.
See the License for the specific language governing permissions and 2. Install Eclipse Luna (or latest) from http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr1 or your repo if available.
limitations under the License. 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
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
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.
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"
10. The debugger is now working. To connect to it, open a terminal (or command prompt) and navigate to the directory where you cloned the CommaFeed files.
11. Issue the command `gulp dev` on Unix based systems or `gulp.cmd dev` in Windows.
12. The development server is now running at http://localhost:8082 and is proxying REST requests to dropwizard on port 8083.
13. Connect to the server from your browser; you should have functional breakpoints and watches on assets.
14. When you're done developing, create a fork at the top of https://github.com/Athou/CommaFeed page and commit your changes to it.
15. If you'd like to contribute to CommaFeed, create a pull request from your repository to https://github.com/Athou/CommaFeed when your changes are ready. There's a button to do so at the top of https://github.com/Athou/CommaFeed.
## Copyright and license
Copyright 2013-2016 CommaFeed.
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
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

6
SECURITY.md Normal file
View 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 !

View File

@@ -1,33 +1,37 @@
{ {
"name": "commafeed", "name": "commafeed",
"version": "2.0.0", "version": "2.0.0",
"dependencies": { "dependencies": {
"jquery": "1.11.0", "jquery": "2.1.3",
"jquery-ui": "1.11", "jquery-ui": "1.10.3",
"jquery-mousewheel": "3.1.12", "jquery-mousewheel": "3.1.12",
"lodash": "2.4.1", "lodash": "3.4.0",
"bootstrap": "3.1.1", "bootstrap": "3.3.2",
"font-awesome": "3.2.1", "font-awesome": "3.2.1",
"angular": "1.2.16", "angular": "1.3.14",
"angular-resource": "1.2.16", "angular-resource": "1.3.14",
"angular-route": "1.2.16", "angular-route": "1.3.14",
"angular-sanitize": "1.2.16", "angular-sanitize": "1.3.14",
"angular-touch": "1.2.16", "angular-touch": "1.3.14",
"angular-animate": "1.2.16", "angular-animate": "1.3.14",
"angular-ui-router": "0.2.8", "angular-ui-router": "0.2.13",
"angular-ui-utils": "0.1.0", "angular-ui-utils": "0.1.0",
"angular-ui-select2": "0.0.5", "angular-ui-select2": "0.0.5",
"angular-bootstrap": "0.2.0", "angular-bootstrap": "0.2.0",
"angular-loading-bar": "0.5.0", "angular-loading-bar": "0.6.0",
"angular-translate": "2.2.0", "angular-translate": "2.6.1",
"angular-translate-loader-static-files": "2.2.0", "angular-translate-loader-static-files": "2.6.1",
"ngInfiniteScroll": "1.0.0", "ngInfiniteScroll": "1.0.0",
"ng-grid": "2.0.6", "ng-grid": "2.0.6",
"mousetrap": "1.4.6", "mousetrap": "1.4.6",
"momentjs": "2.6.0", "momentjs": "2.9.0",
"device.js": "matthewhudson/device.js#2ae5c775e35ccc837589e5af34e292c54936778c", "devicejs": "0.2.4",
"readabilicons": "arc90/readability-readabilicons#34c55561c5b8ec6e90714b50237c06b13cb9d59c", "zocial-less": "1.0.0",
"zocial": "samcollins/css-social-buttons#1f59ecacde475e563fb6771667597493ec4eecb6", "swagger-ui": "2.1.0",
"swagger-ui": "2.0.21" "tinycon": "0.6.5"
} },
"resolutions": {
"angular": "1.3.14",
"angular-translate": "2.6.1"
}
} }

View File

@@ -7,9 +7,15 @@ app:
# wether to allow user registrations # wether to allow user registrations
allowRegistrations: true allowRegistrations: true
# create a demo account the first time the app starts
createDemoAccount: false
# put your google analytics tracking code here # put your google analytics tracking code here
googleAnalyticsTrackingCode: googleAnalyticsTrackingCode:
# put your google server key (used for youtube favicon fetching)
googleAuthKey:
# number of http threads # number of http threads
backgroundThreads: 3 backgroundThreads: 3
@@ -22,6 +28,14 @@ app:
smtpTls: false smtpTls: false
smtpUserName: user smtpUserName: user
smtpPassword: pass smtpPassword: pass
# Graphite Metric settings
# Allows those who use Graphite to have CommaFeed send metrics for graphing (time in seconds)
graphiteEnabled: false
graphitePrefix: "test.commafeed"
graphiteHost: "localhost"
graphitePort: 2003
graphiteInterval: 60
# wether this commafeed instance has a lot of feeds to refresh # wether this commafeed instance has a lot of feeds to refresh
# leave this to false in almost all cases # leave this to false in almost all cases
@@ -44,12 +58,18 @@ app:
# time to keep unread statuses (in days), 0 to disable # time to keep unread statuses (in days), 0 to disable
keepStatusDays: 0 keepStatusDays: 0
# entries to keep per feed, old entries will be deleted, 0 to disable
maxFeedCapacity: 500
# cache service to use, possible values are 'noop' and 'redis' # cache service to use, possible values are 'noop' and 'redis'
cache: noop cache: noop
# announcement string displayed on the main page # announcement string displayed on the main page
announcement: announcement:
# user-agent string that will be used by the http client, leave empty for the default one
userAgent:
# Database connection # Database connection
# ------------------- # -------------------
# for MySQL # for MySQL
@@ -71,11 +91,7 @@ database:
password: sa password: sa
properties: properties:
charSet: UTF-8 charSet: UTF-8
maxWaitForConnection: 1s validationQuery: "/* CommaFeed Health Check */ SELECT 1"
validationQuery: "/* CommaFeed Health Check */ SELECT 1"
minSize: 1
maxSize: 50
checkConnectionWhileIdle: true
server: server:
applicationConnectors: applicationConnectors:
@@ -84,12 +100,13 @@ server:
adminConnectors: adminConnectors:
- type: http - type: http
port: 8084 port: 8084
logging: logging:
level: INFO level: INFO
loggers: loggers:
com.commafeed: DEBUG com.commafeed: DEBUG
liquibase: INFO liquibase: INFO
org.hibernate.SQL: ALL org.hibernate.SQL: INFO # or ALL for sql debugging
org.hibernate.engine.internal.StatisticalLoggingSessionEventListener: WARN org.hibernate.engine.internal.StatisticalLoggingSessionEventListener: WARN
appenders: appenders:
- type: console - type: console
@@ -99,4 +116,16 @@ logging:
archive: true archive: true
archivedLogFilenamePattern: log/commafeed-%d.log archivedLogFilenamePattern: log/commafeed-%d.log
archivedFileCount: 5 archivedFileCount: 5
timeZone: UTC timeZone: UTC
# Redis pool configuration
# (only used if app.cache is 'redis')
# -----------------------------------
redis:
host: localhost
port: 6379
password:
timeout: 2000
database: 0
maxTotal: 500

View File

@@ -4,12 +4,18 @@ app:
# url used to access commafeed # url used to access commafeed
publicUrl: http://localhost:8082/ publicUrl: http://localhost:8082/
# wether to allow user registrations # whether to allow user registrations
allowRegistrations: false allowRegistrations: false
# create a demo account the first time the app starts
createDemoAccount: false
# put your google analytics tracking code here # put your google analytics tracking code here
googleAnalyticsTrackingCode: googleAnalyticsTrackingCode:
# put your google server key (used for youtube favicon fetching)
googleAuthKey:
# number of http threads # number of http threads
backgroundThreads: 3 backgroundThreads: 3
@@ -22,6 +28,15 @@ app:
smtpTls: false smtpTls: false
smtpUserName: smtpUserName:
smtpPassword: smtpPassword:
smtpFromAddress:
# Graphite Metric settings
# Allows those who use Graphite to have CommaFeed send metrics for graphing (time in seconds)
graphiteEnabled: false
graphitePrefix: "test.commafeed"
graphiteHost: "localhost"
graphitePort: 2003
graphiteInterval: 60
# wether this commafeed instance has a lot of feeds to refresh # wether this commafeed instance has a lot of feeds to refresh
# leave this to false in almost all cases # leave this to false in almost all cases
@@ -44,12 +59,18 @@ app:
# time to keep unread statuses (in days), 0 to disable # time to keep unread statuses (in days), 0 to disable
keepStatusDays: 0 keepStatusDays: 0
# entries to keep per feed, old entries will be deleted, 0 to disable
maxFeedCapacity: 500
# cache service to use, possible values are 'noop' and 'redis' # cache service to use, possible values are 'noop' and 'redis'
cache: noop cache: noop
# announcement string displayed on the main page # announcement string displayed on the main page
announcement: announcement:
# user-agent string that will be used by the http client, leave empty for the default one
userAgent:
# Database connection # Database connection
# ------------------- # -------------------
# for MySQL # for MySQL
@@ -66,16 +87,15 @@ app:
database: database:
driverClass: org.h2.Driver driverClass: org.h2.Driver
url: jdbc:h2:./target/example url: jdbc:h2:/home/commafeed/db
user: sa user: sa
password: sa password: sa
properties: properties:
charSet: UTF-8 charSet: UTF-8
maxWaitForConnection: 1s validationQuery: "/* CommaFeed Health Check */ SELECT 1"
validationQuery: "/* CommaFeed Health Check */ SELECT 1" minSize: 1
minSize: 1 maxSize: 50
maxSize: 50 maxConnectionAge: 30m
checkConnectionWhileIdle: true
server: server:
applicationConnectors: applicationConnectors:
@@ -84,12 +104,14 @@ server:
adminConnectors: adminConnectors:
- type: http - type: http
port: 8084 port: 8084
logging: logging:
level: WARN level: WARN
loggers: loggers:
com.commafeed: INFO com.commafeed: INFO
liquibase: INFO liquibase: INFO
io.dropwizard.server.ServerFactory: INFO io.dropwizard.server.ServerFactory: INFO
org.hibernate.orm.deprecation: "OFF"
appenders: appenders:
- type: console - type: console
- type: file - type: file
@@ -98,4 +120,16 @@ logging:
archive: true archive: true
archivedLogFilenamePattern: log/commafeed-%d.log archivedLogFilenamePattern: log/commafeed-%d.log
archivedFileCount: 5 archivedFileCount: 5
timeZone: UTC timeZone: UTC
# Redis pool configuration
# (only used if app.cache is 'redis')
# -----------------------------------
redis:
host: localhost
port: 6379
password:
timeout: 2000
database: 0
maxTotal: 500

View File

@@ -1,283 +1,365 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="12"> <profiles version="18">
<profile kind="CodeFormatterProfile" name="Eclipse [built-in] 140 chars" version="12"> <profile kind="CodeFormatterProfile" name="CommaFeed" version="18">
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<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_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" 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.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<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_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<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_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<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.use_on_off_tags" value="false"/>
<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_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" 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_space_before_opening_brace_in_annotation_type_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_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<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_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" 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.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<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.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<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_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<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_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" 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_closing_angle_bracket_in_type_arguments" 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_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="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_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" 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.insert_space_after_opening_paren_in_for" value="do not 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.alignment_for_selector_in_method_invocation" value="16"/>
<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.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" 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.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="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.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="140"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<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_after_opening_paren_in_parenthesized_expression" 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_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<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.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
<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_colon_in_for" value="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.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<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_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<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.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<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_before_comma_in_annotation" value="do not insert"/>
<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_before_comma_in_method_declaration_throws" value="do not 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.brace_position_for_switch" value="end_of_line"/>
<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_parenthesized_expression_in_return" value="insert"/>
<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_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<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.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="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.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
<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.brace_position_for_method_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<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_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
<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_new_line_after_annotation_on_field" 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.comment.indent_root_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not 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_space_before_opening_brace_in_switch" value="insert"/>
<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_after_comma_in_superinterfaces" 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_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<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_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" 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.insert_new_line_in_empty_enum_constant" value="insert"/>
<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_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<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_comma_in_constructor_declaration_throws" 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_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<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_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<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.insert_space_after_opening_paren_in_catch" value="do not 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.insert_space_before_opening_paren_in_method_invocation" value="do not 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.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<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.insert_space_before_at_in_annotation_type_declaration" value="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.alignment_for_arguments_in_allocation_expression" value="16"/> <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="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.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<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.comment.insert_new_line_for_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<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_comma_in_constructor_declaration_parameters" 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.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<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.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
<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_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<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_after_opening_angle_bracket_in_type_parameters" value="do not 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_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="48"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="140"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" 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.blank_lines_between_import_groups" value="1"/> <setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
<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.insert_space_between_empty_parens_in_enum_constant" 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.brace_position_for_constructor_declaration" value="end_of_line"/>
<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_before_colon_in_conditional" value="insert"/>
<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_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<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_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="48"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" 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.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<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_colon_in_default" 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_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<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_opening_bracket_in_array_allocation_expression" 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_colon_in_conditional" value="insert"/>
<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.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<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_after_comma_in_allocation_expression" value="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.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="48"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="false"/>
<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.alignment_for_enum_constants" value="48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<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_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not 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.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" 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_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<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_opening_brace_in_array_initializer" 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_after_opening_paren_in_method_declaration" value="do not insert"/>
<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_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" 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_closing_paren_in_annotation" value="do not insert"/>
<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_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/> <setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/> <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.indent_body_declarations_compare_to_enum_constant_header" value="true"/> <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_space_after_semicolon_in_for" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/> <setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/> <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_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.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_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"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<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.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"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<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"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<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.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"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<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.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_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_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.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.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.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.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_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"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<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.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"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<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"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<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.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"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<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_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.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"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<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"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
</profile> </profile>
</profiles> </profiles>

View File

@@ -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
View 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
View 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

View File

@@ -4,7 +4,6 @@ var revReplace = require('gulp-rev-replace');
var minifyCSS = require('gulp-minify-css'); var minifyCSS = require('gulp-minify-css');
var uglify = require('gulp-uglify'); var uglify = require('gulp-uglify');
var filter = require('gulp-filter'); var filter = require('gulp-filter');
var bower = require('gulp-bower');
var connect = require('gulp-connect'); var connect = require('gulp-connect');
var modRewrite = require('connect-modrewrite'); var modRewrite = require('connect-modrewrite');
var sass = require('gulp-sass'); var sass = require('gulp-sass');
@@ -15,10 +14,6 @@ var SRC_DIR = 'src/main/app/';
var TEMP_DIR = 'target/gulp/' var TEMP_DIR = 'target/gulp/'
var BUILD_DIR = 'target/classes/assets/'; var BUILD_DIR = 'target/classes/assets/';
gulp.task('bower', function() {
return bower();
});
gulp.task('images', function() { gulp.task('images', function() {
return gulp.src(SRC_DIR + 'images/**/*').pipe(gulp.dest(BUILD_DIR + 'images')); return gulp.src(SRC_DIR + 'images/**/*').pipe(gulp.dest(BUILD_DIR + 'images'));
}); });
@@ -27,34 +22,36 @@ gulp.task('i18n', function() {
return gulp.src(SRC_DIR + 'i18n/**/*.js').pipe(gulp.dest(BUILD_DIR + 'i18n')); return gulp.src(SRC_DIR + 'i18n/**/*.js').pipe(gulp.dest(BUILD_DIR + 'i18n'));
}); });
gulp.task('favicons', function() { gulp.task('resources', function() {
var favicons_png = SRC_DIR + '*.png'; var favicons_png = SRC_DIR + '*.png';
var favicons_ico = SRC_DIR + '*.ico'; var favicons_ico = SRC_DIR + '*.ico';
var favicons_svg = SRC_DIR + '*.svg'; var favicons_svg = SRC_DIR + '*.svg';
return gulp.src([favicons_png, favicons_ico, favicons_svg]).pipe(gulp.dest(BUILD_DIR)); var manifest = SRC_DIR + 'manifest.json';
return gulp.src([favicons_png, favicons_ico, favicons_svg, manifest]).pipe(gulp.dest(BUILD_DIR));
}); });
gulp.task('sass', function() { gulp.task('sass', function() {
return gulp.src(SRC_DIR + 'sass/app.scss').pipe(sass()).pipe(gulp.dest(TEMP_DIR + 'css')); return gulp.src(SRC_DIR + 'sass/app.scss').pipe(sass()).pipe(gulp.dest(TEMP_DIR + 'css'));
}); });
gulp.task('fonts', ['bower'], function() { gulp.task('fonts', function() {
var font_awesome = SRC_DIR + 'lib/font-awesome/font/fontawesome-webfont.*'; var font_awesome = SRC_DIR + 'lib/font-awesome/font/fontawesome-webfont.*';
var zocial = SRC_DIR + 'lib/zocial/css/zocial-regular-*'; var zocial = SRC_DIR + 'lib/zocial-less/css/zocial-regular-*';
var readabilicons = SRC_DIR + 'lib/readabilicons/webfont/fonts/readabilicons-*'; var readabilicons = SRC_DIR + 'lib/readabilicons/webfont/fonts/readabilicons-*';
return gulp.src([font_awesome, zocial, readabilicons]).pipe(gulp.dest(BUILD_DIR + 'font')); return gulp.src([font_awesome, zocial, readabilicons]).pipe(gulp.dest(BUILD_DIR + 'font'));
}); });
gulp.task('select2', ['bower'], function() { gulp.task('select2', function() {
var gif = SRC_DIR + 'lib/select2/*.gif'; var gif = SRC_DIR + 'lib/select2/*.gif';
var png = SRC_DIR + 'lib/select2/*.png'; var png = SRC_DIR + 'lib/select2/*.png';
return gulp.src([gif, png]).pipe(gulp.dest(BUILD_DIR + 'css')); return gulp.src([gif, png]).pipe(gulp.dest(BUILD_DIR + 'css'));
}); });
gulp.task('swagger-ui', ['bower'], function() { gulp.task('swagger-ui', function() {
var index_html = SRC_DIR + 'api/index.html'; var index_html = SRC_DIR + 'api/index.html';
var swagger_json = 'target/swagger/swagger.json';
var lib = SRC_DIR + 'lib/swagger-ui/dist/**/*'; var lib = SRC_DIR + 'lib/swagger-ui/dist/**/*';
return gulp.src([lib, index_html]).pipe(gulp.dest(BUILD_DIR + 'api')); return gulp.src([lib, index_html, swagger_json]).pipe(gulp.dest(BUILD_DIR + 'api'));
}); });
gulp.task('template-cache', function() { gulp.task('template-cache', function() {
@@ -65,17 +62,17 @@ gulp.task('template-cache', function() {
return gulp.src(SRC_DIR + 'templates/**/*.html').pipe(templateCache(options)).pipe(gulp.dest(TEMP_DIR + 'js')); return gulp.src(SRC_DIR + 'templates/**/*.html').pipe(templateCache(options)).pipe(gulp.dest(TEMP_DIR + 'js'));
}); });
gulp.task('build-dev', ['images', 'i18n', 'favicons', 'sass', 'fonts', 'select2', 'swagger-ui', 'template-cache', 'bower'], function() { gulp.task('build-dev', ['images', 'i18n', 'resources', 'sass', 'fonts', 'select2', 'swagger-ui', 'template-cache'], function() {
var assets = useref.assets({ var assets = useref.assets({
searchPath : [SRC_DIR, TEMP_DIR] searchPath : [SRC_DIR, TEMP_DIR]
}); });
var jsFilter = filter("**/*.js"); var jsFilter = filter("**/*.js");
var cssFilter = filter("**/*.css"); var cssFilter = filter("**/*.css");
return gulp.src([SRC_DIR + 'index.html', TEMP_DIR + 'app.css']).pipe(assets).pipe(rev()).pipe(assets.restore()).pipe(useref()).pipe( return gulp.src([SRC_DIR + 'index.html', TEMP_DIR + 'app.css']).pipe(assets).pipe(rev()).pipe(assets.restore()).pipe(useref()).pipe(
revReplace()).pipe(gulp.dest(BUILD_DIR)); revReplace()).pipe(gulp.dest(BUILD_DIR)).pipe(connect.reload());
}); });
gulp.task('build', ['images', 'i18n', 'favicons', 'sass', 'fonts', 'select2', 'swagger-ui', 'template-cache', 'bower'], function() { gulp.task('build', ['images', 'i18n', 'resources', 'sass', 'fonts', 'select2', 'swagger-ui', 'template-cache'], function() {
var assets = useref.assets({ var assets = useref.assets({
searchPath : [SRC_DIR, TEMP_DIR] searchPath : [SRC_DIR, TEMP_DIR]
}); });
@@ -101,7 +98,9 @@ gulp.task('serve', function() {
connect.server({ connect.server({
root : BUILD_DIR, root : BUILD_DIR,
port : 8082, port : 8082,
livereload : true,
middleware : function() { middleware : function() {
var api = '^/api/(.*)$ http://localhost:8083/rest/$1 [P]';
var rest = '^/rest/(.*)$ http://localhost:8083/rest/$1 [P]'; var rest = '^/rest/(.*)$ http://localhost:8083/rest/$1 [P]';
var next = '^/next(.*)$ http://localhost:8083/next$1 [P]'; var next = '^/next(.*)$ http://localhost:8083/next$1 [P]';
var logout = '^/logout$ http://localhost:8083/logout [P]'; var logout = '^/logout$ http://localhost:8083/logout [P]';
@@ -113,4 +112,4 @@ gulp.task('serve', function() {
}); });
gulp.task('dev', ['build-dev', 'watch', 'serve']); gulp.task('dev', ['build-dev', 'watch', 'serve']);
gulp.task('default', ['build']); gulp.task('default', ['build']);

BIN
maven/maven-wrapper.jar Normal file

Binary file not shown.

View File

@@ -0,0 +1,3 @@
#Maven download properties
#Sat Jul 04 09:06:32 CEST 2015
distributionUrl=https\://repository.apache.org/content/repositories/releases/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip

234
mvnw vendored Executable file
View File

@@ -0,0 +1,234 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# 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, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
#
# Look for the Apple JDKs first to preserve the existing behaviour, and then look
# for the new JDKs provided by Oracle.
#
if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
#
# Apple JDKs
#
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
fi
if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
#
# Apple JDKs
#
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
fi
if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
#
# Oracle JDKs
#
export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
fi
if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
#
# Apple JDKs
#
export JAVA_HOME=`/usr/libexec/java_home`
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Migwn, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
# TODO classpath?
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
fi
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
local basedir=$(pwd)
local wdir=$(pwd)
while [ "$wdir" != '/' ] ; do
wdir=$(cd "$wdir/.."; pwd)
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER="org.apache.maven.wrapper.MavenWrapperMain"
exec "$JAVACMD" \
$MAVEN_OPTS \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
-classpath \
"$MAVEN_PROJECTBASEDIR/maven/maven-wrapper.jar" \
${WRAPPER_LAUNCHER} "$@"

141
mvnw.bat Normal file
View File

@@ -0,0 +1,141 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:init
set MAVEN_CMD_LINE_ARGS=%*
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\maven\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
%MAVEN_JAVA_EXE% -Dmaven.multiModuleProjectDirectory="" %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%

View File

@@ -4,17 +4,17 @@
"main": "main.js", "main": "main.js",
"private": true, "private": true,
"devDependencies": { "devDependencies": {
"gulp": "3.8.7", "bower": "1.8.8",
"gulp-rev": "1.0.0", "gulp": "3.8.11",
"gulp-rev-replace": "0.3.0", "gulp-rev": "4.0.0",
"gulp-minify-css": "0.3.7", "gulp-rev-replace": "0.4.1",
"gulp-uglify": "0.3.1", "gulp-minify-css": "1.1.5",
"gulp-filter": "1.0.0", "gulp-uglify": "1.2.0",
"gulp-bower": "0.0.6", "gulp-filter": "2.0.2",
"gulp-connect": "2.0.6", "gulp-connect": "2.2.0",
"connect-modrewrite": "0.7.7", "connect-modrewrite": "0.8.1",
"gulp-sass": "0.7.2", "gulp-sass": "2.0.2",
"gulp-useref": "0.6.0", "gulp-useref": "1.1.2",
"gulp-angular-templatecache": "1.3.0" "gulp-angular-templatecache": "1.6.0"
} }
} }

441
pom.xml
View File

@@ -4,19 +4,30 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.commafeed</groupId> <groupId>com.commafeed</groupId>
<artifactId>commafeed</artifactId> <artifactId>commafeed</artifactId>
<version>2.0.0</version> <version>2.6.0</version>
<packaging>jar</packaging>
<name>CommaFeed</name> <name>CommaFeed</name>
<prerequisites>
<maven>3.0.0</maven>
</prerequisites>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<dropwizard.version>0.7.1</dropwizard.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> </properties>
<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> <build>
<finalName>commafeed</finalName> <finalName>commafeed</finalName>
<resources> <resources>
@@ -25,20 +36,35 @@
<filtering>true</filtering> <filtering>true</filtering>
</resource> </resource>
</resources> </resources>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version> <version>3.10.1</version>
<configuration> </plugin>
<source>1.7</source> <plugin>
<target>1.7</target> <groupId>org.apache.maven.plugins</groupId>
</configuration> <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>
<plugin> <plugin>
<groupId>pl.project13.maven</groupId> <groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId> <artifactId>git-commit-id-plugin</artifactId>
<version>2.1.7</version> <version>2.1.13</version>
<executions> <executions>
<execution> <execution>
<goals> <goals>
@@ -49,12 +75,20 @@
<configuration> <configuration>
<generateGitPropertiesFile>false</generateGitPropertiesFile> <generateGitPropertiesFile>false</generateGitPropertiesFile>
<failOnNoGitDirectory>false</failOnNoGitDirectory> <failOnNoGitDirectory>false</failOnNoGitDirectory>
<failOnUnableToExtractRepoInfo>false</failOnUnableToExtractRepoInfo>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <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> <configuration>
<createDependencyReducedPom>false</createDependencyReducedPom> <createDependencyReducedPom>false</createDependencyReducedPom>
<filters> <filters>
@@ -80,25 +114,66 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.commafeed.CommaFeedApplication</mainClass> <mainClass>com.commafeed.CommaFeedApplication</mainClass>
</transformer> </transformer>
<transformer implementation="org.kordamp.shade.resources.PropertiesFileTransformer">
<paths>
<path>rome.properties</path>
</paths>
<mergeStrategy>append</mergeStrategy>
</transformer>
</transformers> </transformers>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>com.github.kongchen</groupId>
<artifactId>swagger-maven-plugin</artifactId>
<version>3.1.7</version>
<?m2e ignore?>
<configuration>
<apiSources>
<apiSource>
<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>
<title>CommaFeed</title>
<version>${project.version}</version>
</info>
<typesToSkip>
<typeToSkip>com.commafeed.backend.model.User</typeToSkip>
</typesToSkip>
</apiSource>
</apiSources>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>com.github.eirslett</groupId> <groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId> <artifactId>frontend-maven-plugin</artifactId>
<version>0.0.15</version> <version>1.6</version>
<?m2e ignore?>
<executions> <executions>
<execution> <execution>
<id>install node and npm</id> <id>install node and npm</id>
<goals> <goals>
<goal>install-node-and-npm</goal> <goal>install-node-and-npm</goal>
</goals> </goals>
<phase>generate-resources</phase> <phase>compile</phase>
<configuration> <configuration>
<nodeVersion>v0.10.30</nodeVersion> <nodeVersion>v6.11.4</nodeVersion>
<npmVersion>1.3.8</npmVersion> <npmVersion>3.10.6</npmVersion>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
@@ -106,182 +181,336 @@
<goals> <goals>
<goal>npm</goal> <goal>npm</goal>
</goals> </goals>
<phase>generate-resources</phase> <phase>compile</phase>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
<execution>
<id>bower install</id>
<goals>
<goal>bower</goal>
</goals>
<phase>compile</phase>
<configuration>
<arguments>install</arguments>
</configuration>
</execution> </execution>
<execution> <execution>
<id>gulp build</id> <id>gulp build</id>
<goals> <goals>
<goal>gulp</goal> <goal>gulp</goal>
</goals> </goals>
<phase>generate-resources</phase> <phase>compile</phase>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</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> </plugins>
</build> </build>
<profiles>
<profile>
<id>only-eclipse</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<directory>target-ide</directory>
</build>
</profile>
</profiles>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>1.14.4</version> <version>1.18.22</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId> <artifactId>slf4j-api</artifactId>
<version>1.7.7</version> </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.dropwizard</groupId> <groupId>io.dropwizard</groupId>
<artifactId>dropwizard-core</artifactId> <artifactId>dropwizard-core</artifactId>
<version>${dropwizard.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.dropwizard</groupId> <groupId>io.dropwizard</groupId>
<artifactId>dropwizard-hibernate</artifactId> <artifactId>dropwizard-hibernate</artifactId>
<version>${dropwizard.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.dropwizard</groupId> <groupId>org.liquibase</groupId>
<artifactId>dropwizard-client</artifactId> <artifactId>liquibase-core</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-migrations</artifactId>
<version>${dropwizard.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.dropwizard</groupId> <groupId>io.dropwizard</groupId>
<artifactId>dropwizard-assets</artifactId> <artifactId>dropwizard-assets</artifactId>
<version>${dropwizard.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.wordnik</groupId> <groupId>io.dropwizard</groupId>
<artifactId>swagger-jaxrs_2.10</artifactId> <artifactId>dropwizard-forms</artifactId>
<version>1.3.7</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>
<exclusions> <exclusions>
<exclusion> <exclusion>
<artifactId>jsr311-api</artifactId> <artifactId>commons-logging</artifactId>
<groupId>javax.ws.rs</groupId> <groupId>commons-logging</groupId>
</exclusion>
<exclusion>
<artifactId>javassist</artifactId>
<groupId>javassist</groupId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.mysema.querydsl</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.22</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId> <artifactId>querydsl-apt</artifactId>
<version>3.4.2</version> <version>${querydsl.version}</version>
<scope>provided</scope> <scope>provided</scope>
<classifier>hibernate</classifier> <classifier>hibernate</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.mysema.querydsl</groupId> <groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId> <artifactId>querydsl-jpa</artifactId>
<version>3.4.2</version> <version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.18.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>
<artifactId>commons-io</artifactId> <artifactId>commons-io</artifactId>
<version>2.4</version> <version>2.11.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-collections</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-collections</artifactId> <artifactId>commons-collections4</artifactId>
<version>3.2.1</version> <version>4.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-codec</groupId> <groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId> <artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-math</artifactId> <artifactId>commons-math3</artifactId>
<version>2.2</version> <version>3.6.1</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl</artifactId>
<version>2.1.1</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.passay</groupId>
<artifactId>passay</artifactId>
<version>1.6.1</version>
</dependency>
<dependency> <dependency>
<groupId>redis.clients</groupId> <groupId>redis.clients</groupId>
<artifactId>jedis</artifactId> <artifactId>jedis</artifactId>
<version>2.5.2</version> <version>2.7.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.sun.mail</groupId> <groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId> <artifactId>javax.mail</artifactId>
<version>1.5.2</version> <version>1.5.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.java.dev.rome</groupId> <groupId>com.rometools</groupId>
<artifactId>rome</artifactId> <artifactId>rome</artifactId>
<version>1.0.0</version> <version>${rome.version}</version>
<exclusions>
<exclusion>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.rometools</groupId> <groupId>com.rometools</groupId>
<artifactId>rome-modules</artifactId>
<version>${rome.version}</version>
</dependency>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-opml</artifactId> <artifactId>rome-opml</artifactId>
<version>1.0</version> <version>${rome.version}</version>
<exclusions>
<exclusion>
<groupId>rome</groupId>
<artifactId>rome</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.jdom</groupId> <groupId>org.ahocorasick</groupId>
<artifactId>jdom</artifactId> <artifactId>ahocorasick</artifactId>
<version>1.1.3</version> <version>0.6.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.jsoup</groupId> <groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId> <artifactId>jsoup</artifactId>
<version>1.7.3</version> <version>1.14.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.googlecode.juniversalchardet</groupId> <groupId>com.ibm.icu</groupId>
<artifactId>juniversalchardet</artifactId> <artifactId>icu4j</artifactId>
<version>1.0.3</version> <version>70.1</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<version>2.6.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sourceforge.cssparser</groupId> <groupId>net.sourceforge.cssparser</groupId>
<artifactId>cssparser</artifactId> <artifactId>cssparser</artifactId>
<version>0.9.14</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>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-youtube</artifactId>
<version>v3-rev139-1.20.0</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava-jdk5</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.h2database</groupId> <groupId>com.h2database</groupId>
<artifactId>h2</artifactId> <artifactId>h2</artifactId>
<version>1.4.181</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version> <version>8.0.28</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>postgresql</groupId> <groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId> <artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version> <version>42.4.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sourceforge.jtds</groupId> <groupId>net.sourceforge.jtds</groupId>
@@ -290,9 +519,29 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>org.junit.jupiter</groupId>
<artifactId>junit</artifactId> <artifactId>junit-jupiter-engine</artifactId>
<version>4.11</version> <scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<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> <scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -1,88 +1,86 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>Swagger UI</title> <title>Swagger UI</title>
<link href='//fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css'/> <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/reset.css" media="screen" rel="stylesheet" type="text/css" />
<link href='css/screen.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/reset.css" media="print" rel="stylesheet" type="text/css" />
<link href='css/screen.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 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-1.8.0.min.js" type="text/javascript"></script>
<script src='lib/jquery.slideto.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.wiggle.min.js" type="text/javascript"></script>
<script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script> <script src="lib/jquery.ba-bbq.min.js" type="text/javascript"></script>
<script src='lib/handlebars-1.0.0.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/underscore-min.js" type="text/javascript"></script>
<script src='lib/backbone-min.js' type='text/javascript'></script> <script src="lib/backbone-min.js" type="text/javascript"></script>
<script src='lib/swagger.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="swagger-ui.js" type="text/javascript"></script>
<script src='lib/highlight.7.3.pack.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 --> <!-- enabling this will enable oauth2 implicit scope support -->
<script src='lib/swagger-oauth.js' type='text/javascript'></script> <script src="lib/swagger-oauth.js" type="text/javascript"></script>
<script type="text/javascript">
<script type="text/javascript"> $(function () {
$(function () { window.swaggerUi = new SwaggerUi({
window.swaggerUi = new SwaggerUi({ url: "./swagger.json",
url: "../rest/api-docs", dom_id: "swagger-ui-container",
dom_id: "swagger-ui-container", supportedSubmitMethods: ["get", "post", "put", "delete"],
supportedSubmitMethods: ['get', 'post', 'put', 'delete'], onComplete: function (swaggerApi, swaggerUi) {
onComplete: function(swaggerApi, swaggerUi){ if (typeof initOAuth == "function") {
log("Loaded SwaggerUI"); /*
if(typeof initOAuth == "function") {
/*
initOAuth({ initOAuth({
clientId: "your-client-id", clientId: "your-client-id",
realm: "your-realms", realm: "your-realms",
appName: "your-app-name" appName: "your-app-name"
}); });
*/ */
} }
$('pre code').each(function(i, e) { $("pre code").each(function (i, e) {
hljs.highlightBlock(e) hljs.highlightBlock(e)
}); })
}, },
onFailure: function(data) { onFailure: function (data) {
log("Unable to Load SwaggerUI"); log("Unable to Load SwaggerUI")
}, },
docExpansion: "none", docExpansion: "none",
sorter : "alpha" sorter: "alpha",
}); })
$('#input_apiKey').change(function() { $("#input_apiKey").change(function () {
var key = $('#input_apiKey')[0].value; var key = $("#input_apiKey")[0].value
log("key: " + key); log("key: " + key)
if(key && key.trim() != "") { if (key && key.trim() != "") {
log("added key " + key); log("added key " + key)
window.authorizations.add("key", new ApiKeyAuthorization("api_key", key, "query")); window.authorizations.add("key", new ApiKeyAuthorization("api_key", key, "query"))
} }
}) })
window.swaggerUi.load(); window.swaggerUi.load()
}); })
</script> </script>
</head> </head>
<body class="swagger-section"> <body class="swagger-section">
<div id='header'> <div id="header">
<div class="swagger-ui-wrap"> <div class="swagger-ui-wrap">
<a id="logo" href="http://swagger.wordnik.com">swagger</a> <a id="logo" href="http://swagger.wordnik.com">swagger</a>
<form id='api_selector'> <form id="api_selector">
<div class='input icon-btn'> <div class="input icon-btn">
<img id="show-pet-store-icon" src="images/pet_store_api.png" title="Show Swagger Petstore Example Apis"> <img id="show-pet-store-icon" src="images/pet_store_api.png" title="Show Swagger Petstore Example Apis" />
</div> </div>
<div class='input icon-btn'> <div class="input icon-btn">
<img id="show-wordnik-dev-icon" src="images/wordnik_api.png" title="Show Wordnik Developer Apis"> <img id="show-wordnik-dev-icon" src="images/wordnik_api.png" title="Show Wordnik Developer Apis" />
</div> </div>
<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></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"><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text" /></div>
<div class='input'><a id="explore" href="#">Explore</a></div> <div class="input"><a id="explore" href="#">Explore</a></div>
</form> </form>
</div> </div>
</div> </div>
<div id="message-bar" class="swagger-ui-wrap">&nbsp;</div> <div id="message-bar" class="swagger-ui-wrap">&nbsp;</div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div> <div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</body> </body>
</html> </html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 556 B

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -111,7 +111,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Change password", "change_password" : "Change password",
"confirm_password" : "Confirm 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", "passwords_do_not_match" : "Passwords do not match",
"api_key" : "API key", "api_key" : "API key",
"api_key_not_generated" : "Not generated yet", "api_key_not_generated" : "Not generated yet",
@@ -174,7 +174,8 @@
"font_size" : "increase/decrease font size of the current entry ", "font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ", "go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ", "go_to_starred" : "go to the Starred view ",
"feed_search" : "navigate to a subscription by entering the subscription name" "feed_search" : "navigate to a subscription by entering the subscription name",
"refresh": "refresh"
} }
} }
} }

View File

@@ -111,7 +111,7 @@
"email" : "Adreça electrònica", "email" : "Adreça electrònica",
"change_password" : "Canvia la contrasenya ", "change_password" : "Canvia la contrasenya ",
"confirm_password" : "Confirma 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", "passwords_do_not_match" : "Les contrasenyes no coincideixen",
"api_key" : "Clau API ", "api_key" : "Clau API ",
"api_key_not_generated" : "Encara no s'ha generat", "api_key_not_generated" : "Encara no s'ha generat",

View File

@@ -111,7 +111,7 @@
"email " : " E-mail", "email " : " E-mail",
"change_password " : " Změnit heslo", "change_password " : " Změnit heslo",
"confirm_password " : " Potvrdit 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í", "passwords_do_not_match " : " Hesla se neshodují",
"api_key " : " API klíč", "api_key " : " API klíč",
"api_key_not_generated " : " Není vygenerován", "api_key_not_generated " : " Není vygenerován",

View File

@@ -111,7 +111,7 @@
"email" : "E-bost", "email" : "E-bost",
"change_password" : "Newid cyfrinair", "change_password" : "Newid cyfrinair",
"confirm_password" : "Cadarnhau 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", "passwords_do_not_match" : "Mae'r cyfrineiriau yn wahanol",
"api_key" : "Allwedd API", "api_key" : "Allwedd API",
"api_key_not_generated" : "Heb ei gynhyrchu eto", "api_key_not_generated" : "Heb ei gynhyrchu eto",

View File

@@ -111,7 +111,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Skift adgangskode", "change_password" : "Skift adgangskode",
"confirm_password" : "Bekræft 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", "passwords_do_not_match" : "Adgangskoderne er ikke ens",
"api_key" : "API nøgle", "api_key" : "API nøgle",
"api_key_not_generated" : "Ikke genereret endnu", "api_key_not_generated" : "Ikke genereret endnu",

View File

@@ -111,7 +111,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Passwort ändern", "change_password" : "Passwort ändern",
"confirm_password" : "Passwort bestätigen", "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", "passwords_do_not_match" : "Passwörter stimmen nicht überein",
"api_key" : "API Schlüssel", "api_key" : "API Schlüssel",
"api_key_not_generated" : "Noch nicht generiert", "api_key_not_generated" : "Noch nicht generiert",

View File

@@ -98,6 +98,8 @@
"next_refresh" : "Next refresh", "next_refresh" : "Next refresh",
"queued_for_refresh" : "Queued for refresh", "queued_for_refresh" : "Queued for refresh",
"feed_url" : "Feed URL", "feed_url" : "Feed URL",
"filtering_expression" : "Filtering expression",
"filtering_expression_help" : "If not empty, an expression evaluating to 'true' or 'false'. If false, new entries for this feed will be marked as read automatically.\nAvailable variables are 'title', 'content', 'url' 'author' and 'categories' and their content is converted to lower case to ease string comparison.\nExample: url.contains('youtube') or (author eq 'athou' and title.contains('github').\nComplete available syntax is available <a href='http://commons.apache.org/proper/commons-jexl/reference/syntax.html' target='_blank'>here</a>.",
"generate_api_key_first" : "Generate an API key in your profile first.", "generate_api_key_first" : "Generate an API key in your profile first.",
"unsubscribe" : "Unsubscribe", "unsubscribe" : "Unsubscribe",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed?", "unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed?",
@@ -109,9 +111,10 @@
"profile" : { "profile" : {
"user_name" : "User name", "user_name" : "User name",
"email" : "E-mail", "email" : "E-mail",
"current_password" : "Current Password",
"change_password" : "Change password", "change_password" : "Change password",
"confirm_password" : "Confirm 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", "passwords_do_not_match" : "Passwords do not match",
"api_key" : "API key", "api_key" : "API key",
"api_key_not_generated" : "Not generated yet", "api_key_not_generated" : "Not generated yet",
@@ -174,7 +177,8 @@
"font_size" : "increase/decrease font size of the current entry", "font_size" : "increase/decrease font size of the current entry",
"go_to_all" : "go to the All view", "go_to_all" : "go to the All view",
"go_to_starred" : "go to the Starred view", "go_to_starred" : "go to the Starred view",
"feed_search" : "navigate to a subscription by entering the subscription name" "feed_search" : "navigate to a subscription by entering the subscription name",
"refresh": "refresh"
} }
} }
} }

View File

@@ -7,24 +7,26 @@
"download" : "Descargar", "download" : "Descargar",
"link" : "Enlace", "link" : "Enlace",
"bookmark" : "Marcador", "bookmark" : "Marcador",
"close" : "Close ", "close" : "Cerrar",
"tags" : "Tags " "tags" : "Etiquetas"
}, },
"tree" : { "tree" : {
"subscribe" : "Subscribir", "subscribe" : "Suscribirse",
"import" : "Importar", "import" : "Importar",
"new_category" : "Nueva categoría", "new_category" : "Nueva categoría",
"all" : "Todos", "all" : "Todos",
"starred" : "Destacado" "starred" : "Destacados"
}, },
"subscribe" : { "subscribe" : {
"feed_url" : "URL del Canal", "feed_url" : "URL del canal",
"feed_name" : "Nombre del Canal", "filtering_expression" : "Expresión de filtrado",
"filtering_expression_help" : "Si no está vacía, una expresión se evalúa como 'cierta' o 'falsa'. Si es falsa, las nueva entradas de este canal se marcarán como leídas automáticamente.\nLas variables disponibles son 'title' (título), 'content'(contenido), 'url' (URL), 'author' (autor), y 'categories' (categorías) y sus contenidos son convertidos a minúsculas para facilitar la comparación de strings (cadenas de texto).\nEjemplo: url.contains('youtube') or (author eq 'athou' and title.contains('github').\nLa sintaxis completa está disponible <a href='http://commons.apache.org/proper/commons-jexl/reference/syntax.html' target='_blank'>aquí</a>.",
"feed_name" : "Nombre del canal",
"category" : "Categoría" "category" : "Categoría"
}, },
"import" : { "import" : {
"google_reader_prefix" : "Déjame importar tus canales de tu", "google_reader_prefix" : "Déjame importar tus canales de tu cuenta ",
"google_reader_suffix" : " cuenta.", "google_reader_suffix" : ".",
"google_download" : "También puedes subir tu archivo subscriptions.xml.", "google_download" : "También puedes subir tu archivo subscriptions.xml.",
"google_download_link" : "Descárgalo de aquí.", "google_download_link" : "Descárgalo de aquí.",
"xml_file" : "Archivo OPML" "xml_file" : "Archivo OPML"
@@ -34,147 +36,147 @@
"parent" : "Padre" "parent" : "Padre"
}, },
"toolbar" : { "toolbar" : {
"unread" : "Sin Leer", "unread" : "No leídos",
"all" : "Todos", "all" : "Todos",
"previous_entry" : "Entrada Anterior", "previous_entry" : "Entrada anterior",
"next_entry" : "Próxima Entrada", "next_entry" : "Entrada siguiente",
"refresh" : "Atualizar", "refresh" : "Actualizar",
"refresh_all" : "Force refresh all my feeds ", "refresh_all" : "Forzar la actualización de todos mis canales.",
"sort_by_asc_desc" : "Ordenar por fecha asc/desc", "sort_by_asc_desc" : "Ordenar por fecha asc/desc.",
"titles_only" : "Sólo Títulos", "titles_only" : "Sólo títulos",
"expanded_view" : "Vista Expandida", "expanded_view" : "Vista expandida",
"mark_all_as_read" : "Marcar todos como leído", "mark_all_as_read" : "Marcar todos como leído",
"mark_all_older_12_hours" : "Items older than 12 hours ", "mark_all_older_12_hours" : "Entradas anteriores a 12 horas.",
"mark_all_older_day" : "Artículos anteriores a un día", "mark_all_older_day" : "Entradas anteriores a un día.",
"mark_all_older_week" : "Artículos más de una semana", "mark_all_older_week" : "Entradas anteriores a una semana.",
"mark_all_older_two_weeks" : "Artículos más de does semanas", "mark_all_older_two_weeks" : "Entradas anteriores a 2 semanas.",
"settings" : "Ajustes", "settings" : "Ajustes",
"profile" : "Perfil", "profile" : "Perfil",
"admin" : "Admin", "admin" : "Admin",
"about" : "Acerca de", "about" : "Acerca de...",
"logout" : "Cerrar sesión", "logout" : "Cerrar sesión",
"donate" : "Donar" "donate" : "Donar"
}, },
"view" : { "view" : {
"entry_source" : "from ", "entry_source" : "de ",
"entry_author" : "by ", "entry_author" : "por ",
"error_while_loading_feed" : "Error mientras se cargaba este canal", "error_while_loading_feed" : "Error mientras se cargaba este canal.",
"keep_unread" : "Guardar no leídos", "keep_unread" : "Mantener como no leído.",
"no_unread_items" : "no tiene items sin leer.", "no_unread_items" : "no tiene entradas sin leer.",
"mark_up_to_here" : "Mark as read up to here ", "mark_up_to_here" : "Marcar como leídos hasta aquí.",
"search_for" : "searching for: ", "search_for" : "buscando: ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "No se han encontrado resultados para las palabras clave especificadas."
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Type in a subscription... ", "hint" : "Introduce una suscripción...",
"help" : "Use the return key to select and arrow keys to navigate. ", "help" : "Usa la tecla Intro para seleccionar y las teclas de flecha para navegar.",
"result_prefix" : "Your subscriptions: " "result_prefix" : "Tus suscripciones:"
}, },
"settings" : { "settings" : {
"general" : { "general" : {
"value" : "General", "value" : "General",
"language" : "Lenguaje", "language" : "Idioma",
"language_contribute" : "Contribuye con traducciones", "language_contribute" : "Contribuye con traducciones.",
"show_unread" : "Mostrar canales y categorías sin entradas no leídas.", "show_unread" : "Mostrar canales y categorías sin entradas no leídas.",
"social_buttons" : "Mostrar botones de compartir de redes sociales.", "social_buttons" : "Mostrar botones para compartir de redes sociales.",
"scroll_marks" : "En vista expandida, el desplazamiento por las entradas las marca como leídas" "scroll_marks" : "En vista expandida, el desplazamiento por las entradas las marca como leídas."
}, },
"appearance" : "Appearance ", "appearance" : "Apariencia",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "Velocidad de desplazamiento al navegar entre entradas (en milisegundos)",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "ponlo a 0 para desactivarlo",
"theme" : "Theme ", "theme" : "Tema",
"submit_your_theme" : "Submit your theme ", "submit_your_theme" : "Envía tu tema ",
"custom_css" : "CSS Personalizado" "custom_css" : "CSS personalizado"
}, },
"details" : { "details" : {
"feed_details" : "Detalles de Canales", "feed_details" : "Detalles del canal",
"url" : "URL", "url" : "URL",
"website" : "Website ", "website" : "Sitio web",
"name" : "Nombre", "name" : "Nombre",
"category" : "Categoría", "category" : "Categoría",
"position" : "Position ", "position" : "Posición",
"last_refresh" : "Última actualización", "last_refresh" : "Última actualización",
"message" : "Last refresh message ", "message" : "Último mensaje de actualización",
"next_refresh" : "Next refresh ", "next_refresh" : "Próxima actualización",
"queued_for_refresh" : "Queued for refresh ", "queued_for_refresh" : "En cola para actualizar",
"feed_url" : "URL del Canal", "feed_url" : "URL del canal",
"generate_api_key_first" : "Genera una llave API en tu perfil primero.", "generate_api_key_first" : "Genera una clave API en tu perfil primero.",
"unsubscribe" : "Terminar subscripción", "unsubscribe" : "Terminar suscripción",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "¿Estás seguro de querer terminar tu suscripción a este canal?",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "¿Estás seguro de querer eliminar esta categoría?",
"category_details" : "Detalles de la categoría", "category_details" : "Detalles de la categoría",
"tag_details" : "Tag details ", "tag_details" : "Detalles de las etiquetas ",
"parent_category" : "Categoría principal" "parent_category" : "Categoría principal"
}, },
"profile" : { "profile" : {
"user_name" : "Nombre de usuario", "user_name" : "Nombre de usuario",
"email" : "Correo", "email" : "Correo electrónico",
"change_password" : "Cambiar contraseña", "change_password" : "Cambiar contraseña",
"confirm_password" : "Confirmar 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", "passwords_do_not_match" : "Las contraseñas no coinciden",
"api_key" : "Llave API", "api_key" : "Clave API",
"api_key_not_generated" : "No generado todavía", "api_key_not_generated" : "No generado todavía",
"generate_new_api_key" : "Generar nueva llave API", "generate_new_api_key" : "Generar nueva clave API",
"generate_new_api_key_info" : "Al cambiar la contraseña se generará una nueva llave API", "generate_new_api_key_info" : "Al cambiar la contraseña se generará una nueva clave API.",
"opml_export" : "Exportación de OPML", "opml_export" : "Exportación de OPML",
"delete_account" : "Eliminar cuenta", "delete_account" : "Eliminar cuenta",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "¿Eliminar tu cuenta? ¡No habrá vuelta atrás! "
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
"value" : "REST API", "value" : "REST API",
"line1" : "CommaFeed está construido con el uso de JAX-RS y AngularJS. Por eso, un REST API esta disponible.", "line1" : "CommaFeed está construido sobre JAX-RS y AngularJS. Por lo tanto, una REST API está disponible.",
"link_to_documentation" : "Vínculo de la documentación." "link_to_documentation" : "Enlace a la documentación."
}, },
"keyboard_shortcuts" : "Atajos de teclado", "keyboard_shortcuts" : "Atajos de teclado",
"version" : "CommaFeed version ", "version" : "Versión de CommaFeed",
"line1_prefix" : "CommaFeed es un proyecto open-source. El código se encuentra en ", "line1_prefix" : "CommaFeed es un proyecto de código abierto. El código se encuentra en ",
"line1_suffix" : ".", "line1_suffix" : ".",
"line2_prefix" : "Si encuentras un problema, por favor reportalo en la página de problemas de ", "line2_prefix" : "Si encuentras un problema, por favor repórtalo en la página de problemas de ",
"line2_suffix" : " del proyecto.", "line2_suffix" : " del proyecto.",
"line3" : "Si te gusta este proyecto, por favor considera realizar una donacion para apoyar al desarrollador y ayudar a cubrir los costos de mantenimiento.", "line3" : "Si te gusta este proyecto, por favor considera realizar una donación para apoyar al desarrollador y ayudar a cubrir los costes de mantenimiento.",
"line4" : "For those of you who prefer bitcoin, here is the address ", "line4" : "Para aquellos de vosotros que prefieran bitcoin, aquí está la dirección ",
"goodies" : { "goodies" : {
"value" : "Goodies", "value" : "Extras",
"android_app" : "Android app ", "android_app" : "Apps para Android",
"subscribe_url" : "Subscribe URL ", "subscribe_url" : "URL para suscribirse ",
"chrome_extension" : "Extensión de Chrome", "chrome_extension" : "Extensión para Chrome.",
"firefox_extension" : "Extensión de Firefox", "firefox_extension" : "Extensión para Firefox.",
"opera_extension" : "Opera extension ", "opera_extension" : "Extensón para Opera.",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click) ", "subscribe_bookmarklet" : "Añadir marcador de suscripción (clic).",
"subscribe_bookmarklet_asc" : "Oldest first ", "subscribe_bookmarklet_asc" : "Más antiguos primero",
"subscribe_bookmarklet_desc" : "Newest first ", "subscribe_bookmarklet_desc" : "Más recientes primero",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar) " "next_unread_bookmarklet" : "Marcador a la siguiente entrada no leída (arástralo a la barra de marcadores) "
}, },
"translation" : { "translation" : {
"value" : "Traducción", "value" : "Traducción",
"message" : "Necesitamos tu ayuda para ayudar a traducir CommaFeed.", "message" : "Necesitamos tu ayuda para ayudar a traducir CommaFeed.",
"link" : "Ver como contribuir con traducciones." "link" : "Ver cómo contribuir con traducciones."
}, },
"announcements" : "Anuncios", "announcements" : "Anuncios",
"shortcuts" : { "shortcuts" : {
"mouse_middleclick" : "ratón botón medio", "mouse_middleclick" : "click medio",
"open_next_entry" : "abrir próxima entrada", "open_next_entry" : "abrir la siguiente entrada",
"open_previous_entry" : "abrir entrada previa", "open_previous_entry" : "abrir la entrada anterior",
"spacebar" : "space/shift+space ", "spacebar" : "espacio/mayúsculas+espacio",
"move_page_down_up" : "moves the page down/up ", "move_page_down_up" : "mueve la página arriba/abajo",
"focus_next_entry" : "Establecer el foco en la próxima entrada sin abrirlo", "focus_next_entry" : "establecer el foco en la siguiente entrada sin abrirla",
"focus_previous_entry" : "Establecer el foco en la entrada anterior sin abrirlo", "focus_previous_entry" : "establecer el foco en la entrada anterior sin abrirla",
"open_next_feed" : "open next feed or category ", "open_next_feed" : "abrir el siguiente canal o categoría",
"open_previous_feed" : "open previous feed or category ", "open_previous_feed" : "abrir el canal o categoría previo",
"open_close_current_entry" : "abrir/cerrar entrada actual", "open_close_current_entry" : "abrir/cerrar la entrada actual",
"open_current_entry_in_new_window" : "abrir entrada actual en una nueva ventana", "open_current_entry_in_new_window" : "abrir la entrada actual en una nueva ventana",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background ", "open_current_entry_in_new_window_background" : "abrir la entrada actual en una nueva ventana en segundo plano",
"star_unstar" : "marcar/no marcar la entrada actual", "star_unstar" : "destacar la entrada actual",
"mark_current_entry" : "marcar como leída/no la leída entrada actual", "mark_current_entry" : "marcar la entrada actual como leída/no la leída",
"mark_all_as_read" : "marcar todas las entradas como leídas", "mark_all_as_read" : "marcar todas las entradas como leídas",
"open_in_new_tab_mark_as_read" : "abrir entrada en una nueva pestaña y marcar como leída", "open_in_new_tab_mark_as_read" : "abrir entrada en una nueva pestaña y marcar como leída",
"fullscreen" : "toggle full screen mode ", "fullscreen" : "activar/desactivar el modo pantalla completa ",
"font_size" : "increase/decrease font size of the current entry ", "font_size" : "aumentar/reducir el tamaño de la fuente de la entrada actual",
"go_to_all" : "go to the All view ", "go_to_all" : "ver Todos",
"go_to_starred" : "go to the Starred view ", "go_to_starred" : "ver Destacados",
"feed_search" : "navigate to a subscription by entering the subscription name " "feed_search" : "navega a una suscripción al introducir su nombre"
} }
} }
} }

View File

@@ -111,7 +111,7 @@
"email" : "رایانامه", "email" : "رایانامه",
"change_password" : "تغییر گذرواژه", "change_password" : "تغییر گذرواژه",
"confirm_password" : "تأیید گذرواژه", "confirm_password" : "تأیید گذرواژه",
"minimum_6_chars" : "حداقل ۶ نویسه", "minimum_8_chars" : "حداقل ۸ نویسه",
"passwords_do_not_match" : "گذرواژه‌ها انطباق ندارند", "passwords_do_not_match" : "گذرواژه‌ها انطباق ندارند",
"api_key" : "کلید API", "api_key" : "کلید API",
"api_key_not_generated" : "هنوز ایجاد نشده‌است", "api_key_not_generated" : "هنوز ایجاد نشده‌است",

View File

@@ -111,7 +111,7 @@
"email" : "Sähköposti", "email" : "Sähköposti",
"change_password" : "Vaihda salasana", "change_password" : "Vaihda salasana",
"confirm_password" : "Vahvista uusi 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ää", "passwords_do_not_match" : "Salasanat eivät täsmää",
"api_key" : "API-avain", "api_key" : "API-avain",
"api_key_not_generated" : "API-avainta ei ole vielä luotu", "api_key_not_generated" : "API-avainta ei ole vielä luotu",

View File

@@ -34,24 +34,24 @@
"parent" : "Parent" "parent" : "Parent"
}, },
"toolbar" : { "toolbar" : {
"unread" : "Non-lus", "unread" : "Non lus",
"all" : "Tous", "all" : "Tous",
"previous_entry" : "Article précédent", "previous_entry" : "Article précédent",
"next_entry" : "Article suivant", "next_entry" : "Article suivant",
"refresh" : "Rafraîchir", "refresh" : "Rafraîchir",
"refresh_all" : "Force refresh all my feeds ", "refresh_all" : "Rafraîchir tous les flux",
"sort_by_asc_desc" : "Trier par date croissante/décroissante", "sort_by_asc_desc" : "Trier par date croissante/décroissante",
"titles_only" : "Titres uniquement", "titles_only" : "Titres uniquement",
"expanded_view" : "Vue étendue", "expanded_view" : "Vue étendue",
"mark_all_as_read" : "Tout marquer comme lu", "mark_all_as_read" : "Tout marquer comme lu",
"mark_all_older_12_hours" : "Items older than 12 hours ", "mark_all_older_12_hours" : "Articles de plus de 12 heures",
"mark_all_older_day" : "Articles de plus d'un jour", "mark_all_older_day" : "Articles de plus d'une journée",
"mark_all_older_week" : "Articles de plus d'une semaine", "mark_all_older_week" : "Articles de plus d'une semaine",
"mark_all_older_two_weeks" : "Articles de plus d'un mois", "mark_all_older_two_weeks" : "Articles de plus d'un mois",
"settings" : "Préférences", "settings" : "Préférences",
"profile" : "Profil", "profile" : "Profil",
"admin" : "Administration", "admin" : "Administration",
"about" : "A propos", "about" : "À propos",
"logout" : "Déconnexion", "logout" : "Déconnexion",
"donate" : "Faire un don" "donate" : "Faire un don"
}, },
@@ -59,16 +59,16 @@
"entry_source" : "sur", "entry_source" : "sur",
"entry_author" : "par ", "entry_author" : "par ",
"error_while_loading_feed" : "Erreur durant le chargement de ce flux", "error_while_loading_feed" : "Erreur durant le chargement de ce flux",
"keep_unread" : "Garder non-lu", "keep_unread" : "Garder non lu",
"no_unread_items" : "n'a pas d'articles non-lus.", "no_unread_items" : "n'a pas d'articles non lus.",
"mark_up_to_here" : "Marquer comme lu jusqu'ici", "mark_up_to_here" : "Marquer comme lu jusqu'ici",
"search_for" : "searching for: ", "search_for" : "recherche : ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "Pas de résultats avec le terme indiqué."
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Tapez un nom de flux", "hint" : "Tapez un nom de flux",
"help" : "Utilisez la touche entrée pour sélectionner et les flèches pour naviguer", "help" : "Utilisez la touche entrée pour sélectionner et les flèches pour naviguer",
"result_prefix" : "Vos flux:" "result_prefix" : "Vos flux :"
}, },
"settings" : { "settings" : {
"general" : { "general" : {
@@ -76,12 +76,12 @@
"language" : "Langue", "language" : "Langue",
"language_contribute" : "Contribuer aux traductions", "language_contribute" : "Contribuer aux traductions",
"show_unread" : "Afficher les flux et les catégories pour lesquels tout est déjà lu", "show_unread" : "Afficher les flux et les catégories pour lesquels tout est déjà lu",
"social_buttons" : "Afficher les boutons de partage sur réseaux sociaux", "social_buttons" : "Afficher les boutons de partage sur les réseaux sociaux",
"scroll_marks" : "En mode de lecture étendu, marquer comme lu les éléments lorsque la fenêtre descend." "scroll_marks" : "En mode de lecture étendu, marquer les éléments comme lus lorsque la fenêtre descend."
}, },
"appearance" : "Apparence", "appearance" : "Apparence",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "Vitesse de défilement entre les entrées (en millisecondes) ",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "Mettez 0 pour désactiver",
"theme" : "Thème", "theme" : "Thème",
"submit_your_theme" : "Soumettez votre thème.", "submit_your_theme" : "Soumettez votre thème.",
"custom_css" : "CSS personnelle" "custom_css" : "CSS personnelle"
@@ -94,37 +94,38 @@
"category" : "Catégorie", "category" : "Catégorie",
"position" : "Position", "position" : "Position",
"last_refresh" : "Dernière mise à jour", "last_refresh" : "Dernière mise à jour",
"message" : "Last refresh message ", "message" : "Message de la dernière mise à jour ",
"next_refresh" : "Prochaine mise à jour", "next_refresh" : "Prochaine mise à jour",
"queued_for_refresh" : "En file d'attente", "queued_for_refresh" : "En file d'attente",
"feed_url" : "URL du flux", "feed_url" : "URL du flux",
"generate_api_key_first" : "Générez une clé API dans votre profil d'abord.", "generate_api_key_first" : "Générez d'abord une clé API dans votre profil.",
"unsubscribe" : "Se désabonner", "unsubscribe" : "Se désabonner",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "Êtes-vous sûr de vouloir vous désabonner de de flux ? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "Êtes-vous sûr de vouloir supprimer cette catégorie ? ",
"category_details" : "Détails de la catégorie", "category_details" : "Détails de la catégorie",
"tag_details" : "Tag details ", "tag_details" : "Détails du tag",
"parent_category" : "Catégorie parente" "parent_category" : "Catégorie parente"
}, },
"profile" : { "profile" : {
"user_name" : "Nom", "user_name" : "Nom",
"email" : "E-mail", "email" : "E-mail",
"current_password" : "Mot de passe actuel",
"change_password" : "Changer de mot de passe", "change_password" : "Changer de mot de passe",
"confirm_password" : "Confirmer le 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", "passwords_do_not_match" : "Les mots de passe ne correspondent pas",
"api_key" : "Clé API", "api_key" : "Clé API",
"api_key_not_generated" : "Pas encore générée", "api_key_not_generated" : "Pas encore générée",
"generate_new_api_key" : "Générer une nouvelle clé API", "generate_new_api_key" : "Générer une nouvelle clé API",
"generate_new_api_key_info" : "Changer de mot de passe va générer une nouvelle clé API", "generate_new_api_key_info" : "Changer de mot de passe générera une nouvelle clé API",
"opml_export" : "Export du fichier OPML", "opml_export" : "Export du fichier OPML",
"delete_account" : "Effacer le compte", "delete_account" : "Effacer le compte",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "Êtes-vous sûr de vouloir supprimer définitivement votre compte ?"
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
"value" : "API REST", "value" : "API REST",
"line1" : "CommaFeed utilise JAX-RS et AngularJS, donc une API REST est disponible.", "line1" : "CommaFeed utilise JAX-RS et AngularJS, une API REST est donc disponible.",
"link_to_documentation" : "Lien vers la documentation." "link_to_documentation" : "Lien vers la documentation."
}, },
"keyboard_shortcuts" : "Raccourcis clavier", "keyboard_shortcuts" : "Raccourcis clavier",
@@ -145,7 +146,7 @@
"subscribe_bookmarklet" : "Bookmarklet d'ajout d'abonnement", "subscribe_bookmarklet" : "Bookmarklet d'ajout d'abonnement",
"subscribe_bookmarklet_asc" : "Du plus ancien au plus récent", "subscribe_bookmarklet_asc" : "Du plus ancien au plus récent",
"subscribe_bookmarklet_desc" : "Du plus récent au plus ancien", "subscribe_bookmarklet_desc" : "Du plus récent au plus ancien",
"next_unread_bookmarklet" : "Bookmarklet vers le prochain article non-lu" "next_unread_bookmarklet" : "Bookmarklet vers le prochain article non lu"
}, },
"translation" : { "translation" : {
"value" : "Traduction", "value" : "Traduction",
@@ -165,9 +166,9 @@
"open_previous_feed" : "Sélectionner le flux ou la catégorie précédente", "open_previous_feed" : "Sélectionner le flux ou la catégorie précédente",
"open_close_current_entry" : "Ouvrir/fermer l'article courant", "open_close_current_entry" : "Ouvrir/fermer l'article courant",
"open_current_entry_in_new_window" : "Ouvrir l'article courant dans une nouvelle fenêtre", "open_current_entry_in_new_window" : "Ouvrir l'article courant dans une nouvelle fenêtre",
"open_current_entry_in_new_window_background" : "Ouvrir l'article courant dans une nouvelle fenêtre en arrière plan", "open_current_entry_in_new_window_background" : "Ouvrir l'article courant dans une nouvelle fenêtre en arrière-plan",
"star_unstar" : "Ajouter/enlever l'article courant des favoris", "star_unstar" : "Ajouter/enlever l'article courant des favoris",
"mark_current_entry" : "Marquer comme lue/non-lue l'article courant", "mark_current_entry" : "Marquer comme lu/non lu l'article courant",
"mark_all_as_read" : "Marquer tous les articles comme lus", "mark_all_as_read" : "Marquer tous les articles comme lus",
"open_in_new_tab_mark_as_read" : "Ouvrir l'article courant dans une nouvelle fenêtre et marquer comme lu", "open_in_new_tab_mark_as_read" : "Ouvrir l'article courant dans une nouvelle fenêtre et marquer comme lu",
"fullscreen" : "Activer/désactiver le mode plein-écran", "fullscreen" : "Activer/désactiver le mode plein-écran",
@@ -177,4 +178,4 @@
"feed_search" : "Naviguer vers un flux en entrant son nom" "feed_search" : "Naviguer vers un flux en entrant son nom"
} }
} }
} }

View File

@@ -31,7 +31,7 @@
}, },
"new_category" : { "new_category" : {
"name" : "Nome", "name" : "Nome",
"parent" : "Pai" "parent" : "Subcategoría de "
}, },
"toolbar" : { "toolbar" : {
"unread" : "Sen Ler", "unread" : "Sen Ler",
@@ -39,12 +39,12 @@
"previous_entry" : "Entrada Anterior", "previous_entry" : "Entrada Anterior",
"next_entry" : "Próxima Entrada", "next_entry" : "Próxima Entrada",
"refresh" : "Actualizar", "refresh" : "Actualizar",
"refresh_all" : "Force refresh all my feeds ", "refresh_all" : "Forzar a actualización de todas as fontes ",
"sort_by_asc_desc" : "Ordenar por data asc/desc", "sort_by_asc_desc" : "Ordenar por data asc/desc",
"titles_only" : "Só títulos", "titles_only" : "Só títulos",
"expanded_view" : "Vista expandida", "expanded_view" : "Vista expandida",
"mark_all_as_read" : "Marcar todos como lidos", "mark_all_as_read" : "Marcar todos como lidos",
"mark_all_older_12_hours" : "Items older than 12 hours ", "mark_all_older_12_hours" : "Elementos anteriores a 12 h. ",
"mark_all_older_day" : "Artigos anteriores a un día", "mark_all_older_day" : "Artigos anteriores a un día",
"mark_all_older_week" : "Artigos de máis de unha semana", "mark_all_older_week" : "Artigos de máis de unha semana",
"mark_all_older_two_weeks" : "Artigos de máis de dúas semanas", "mark_all_older_two_weeks" : "Artigos de máis de dúas semanas",
@@ -56,14 +56,14 @@
"donate" : "Doar" "donate" : "Doar"
}, },
"view" : { "view" : {
"entry_source" : "from ", "entry_source" : "desde ",
"entry_author" : "by ", "entry_author" : "por ",
"error_while_loading_feed" : "Erro mentras se cargaba esta fonte", "error_while_loading_feed" : "Erro mentras se cargaba esta fonte",
"keep_unread" : "Gardar non lidos", "keep_unread" : "Gardar non lidos",
"no_unread_items" : "non ten elementos sen ler.", "no_unread_items" : "non ten elementos sen ler.",
"mark_up_to_here" : "Mark as read up to here ", "mark_up_to_here" : "Marcar como lidos ate aquí ",
"search_for" : "searching for: ", "search_for" : "buscando por: ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "Sen coincidencias para as palabras introducidas "
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Escriba unha suscrición...", "hint" : "Escriba unha suscrición...",
@@ -80,8 +80,8 @@
"scroll_marks" : "En vista expandida, o desplazamento polas entradas márcaas como lidas." "scroll_marks" : "En vista expandida, o desplazamento polas entradas márcaas como lidas."
}, },
"appearance" : "Aspecto", "appearance" : "Aspecto",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "Velocidade de desplazamento navegando entre entradas (en milisegundos) ",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "escriba 0 para deshabilitar ",
"theme" : "Decorado", "theme" : "Decorado",
"submit_your_theme" : "Envíe o seu decorado", "submit_your_theme" : "Envíe o seu decorado",
"custom_css" : "CSS Personalizado" "custom_css" : "CSS Personalizado"
@@ -89,21 +89,21 @@
"details" : { "details" : {
"feed_details" : "Detalles de fontes", "feed_details" : "Detalles de fontes",
"url" : "URL", "url" : "URL",
"website" : "Website ", "website" : "Sitio web ",
"name" : "Nome", "name" : "Nome",
"category" : "Categoría", "category" : "Categoría",
"position" : "Position ", "position" : "Posición ",
"last_refresh" : "Última actualización", "last_refresh" : "Última actualización",
"message" : "Last refresh message ", "message" : "Última mensaxe da actualización ",
"next_refresh" : "Próxima actualización", "next_refresh" : "Próxima actualización",
"queued_for_refresh" : "En cola para actualizar", "queued_for_refresh" : "En cola para actualizar",
"feed_url" : "URL da fonte", "feed_url" : "URL da fonte",
"generate_api_key_first" : "Antes debes xerar unha chave API no teu perfil.", "generate_api_key_first" : "Antes debes xerar unha chave API no teu perfil.",
"unsubscribe" : "Rematar suscripción", "unsubscribe" : "Rematar suscripción",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "Seguro que queres desuscribirte de esta fonte? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "Seguro que queres eliminar esta categoría? ",
"category_details" : "Detalles da categoría", "category_details" : "Detalles da categoría",
"tag_details" : "Tag details ", "tag_details" : "Detalles da etiqueta ",
"parent_category" : "Categoría principal" "parent_category" : "Categoría principal"
}, },
"profile" : { "profile" : {
@@ -111,7 +111,7 @@
"email" : "Correo", "email" : "Correo",
"change_password" : "Cambiar contrasinal", "change_password" : "Cambiar contrasinal",
"confirm_password" : "Confirmar 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", "passwords_do_not_match" : "Os contrasinais non coinciden no coinciden",
"api_key" : "Chave API", "api_key" : "Chave API",
"api_key_not_generated" : "Non xerado todavía", "api_key_not_generated" : "Non xerado todavía",
@@ -119,7 +119,7 @@
"generate_new_api_key_info" : "Ao cambiar o contrasinal xerarase unha nova chave API", "generate_new_api_key_info" : "Ao cambiar o contrasinal xerarase unha nova chave API",
"opml_export" : "Exportación de OPML", "opml_export" : "Exportación de OPML",
"delete_account" : "Eliminar conta", "delete_account" : "Eliminar conta",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "Eliminar conta? Non hai volta atrás! "
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
@@ -158,7 +158,7 @@
"open_next_entry" : "abrir próxima entrada", "open_next_entry" : "abrir próxima entrada",
"open_previous_entry" : "abrir entrada anterior", "open_previous_entry" : "abrir entrada anterior",
"spacebar" : "space/shift+space ", "spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ", "move_page_down_up" : "move a páxina arriba/abaixo ",
"focus_next_entry" : "Establecer o foco na próxima entrada sen abrila", "focus_next_entry" : "Establecer o foco na próxima entrada sen abrila",
"focus_previous_entry" : "Establecer o foco na entrada anterior sen abrila", "focus_previous_entry" : "Establecer o foco na entrada anterior sen abrila",
"open_next_feed" : "abrir a seguinte fonte ou categoría", "open_next_feed" : "abrir a seguinte fonte ou categoría",
@@ -170,11 +170,11 @@
"mark_current_entry" : "marcar como lida/non lida a entrada actual", "mark_current_entry" : "marcar como lida/non lida a entrada actual",
"mark_all_as_read" : "marcar todas as entradas como lidas", "mark_all_as_read" : "marcar todas as entradas como lidas",
"open_in_new_tab_mark_as_read" : "abrir entrada nunha nova lapela e marcar como lida", "open_in_new_tab_mark_as_read" : "abrir entrada nunha nova lapela e marcar como lida",
"fullscreen" : "toggle full screen mode ", "fullscreen" : "habilita a pantalla completa ",
"font_size" : "increase/decrease font size of the current entry ", "font_size" : "aumenta/diminúe o tamaño da letra da entrada activa ",
"go_to_all" : "go to the All view ", "go_to_all" : "ir a vista TODOS",
"go_to_starred" : "go to the Starred view ", "go_to_starred" : "ir a vista Destacados ",
"feed_search" : "navegue ate unha suscrición introducindo o nome da suscrición" "feed_search" : "navegue ate unha suscrición introducindo o nome da suscrición"
} }
} }
} }

View File

@@ -111,7 +111,7 @@
"email" : "ایمئل", "email" : "ایمئل",
"change_password" : "رمزه عوضأگودن", "change_password" : "رمزه عوضأگودن",
"confirm_password" : "رمزه تأیید گودن", "confirm_password" : "رمزه تأیید گودن",
"minimum_6_chars" : "ناقلن 6 کارکتر", "minimum_8_chars" : "ناقلن 8 کارکتر",
"passwords_do_not_match" : "رمزان کس‌به‌کسه نخانید", "passwords_do_not_match" : "رمزان کس‌به‌کسه نخانید",
"api_key" : "کلید API", "api_key" : "کلید API",
"api_key_not_generated" : "هلئه چاگوده نبؤ", "api_key_not_generated" : "هلئه چاگوده نبؤ",

View File

@@ -111,7 +111,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Jelszó megváltoztatás", "change_password" : "Jelszó megváltoztatás",
"confirm_password" : "Jelszó megerősítése", "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", "passwords_do_not_match" : "A jelszavak nem egyeznek",
"api_key" : "API kulcs", "api_key" : "API kulcs",
"api_key_not_generated" : "Még nincsen generálva", "api_key_not_generated" : "Még nincsen generálva",

182
src/main/app/i18n/id.js Normal file
View File

@@ -0,0 +1,182 @@
{
"global" : {
"save" : "Simpan",
"cancel" : "Batal",
"delete" : "Hapus",
"required" : "Diminta",
"download" : "Unduh",
"link" : "Tautan",
"bookmark" : "Penanda halaman buku",
"close" : "Tutup",
"tags" : "Penanda"
},
"tree" : {
"subscribe" : "Berlangganan",
"import" : "Impor",
"new_category" : "Kategori Baru",
"all" : "Semua",
"starred" : "Diutamakan"
},
"subscribe" : {
"feed_url" : "Umpan URL",
"feed_name" : "Nama Umpan",
"category" : "Kategori"
},
"import" : {
"google_reader_prefix" : "Izinkan saya mengimpor umpan Anda dari kepunyaan Anda ",
"google_reader_suffix" : " akun.",
"google_download" : "Atau, unggah berkas subscriptions.xml Anda.",
"google_download_link" : "Unggah dari sini.",
"xml_file" : "Berkas OPML"
},
"new_category" : {
"name" : "Nama",
"parent" : "Induk"
},
"toolbar" : {
"unread" : "Belum dibaca",
"all" : "Semua",
"previous_entry" : "Catatan sebelumnya",
"next_entry" : "Catatan selanjutnya",
"refresh" : "Segarkan",
"refresh_all" : "Memaksa menyegarkan semua umpan saya",
"sort_by_asc_desc" : "Urutkan menurut tanggal asc/desc",
"titles_only" : "Hanya Judul",
"expanded_view" : "Penglihatan diperluas",
"mark_all_as_read" : "Tandai semua sebagai telah dibaca",
"mark_all_older_12_hours" : "Butir lebih lama 12 jam",
"mark_all_older_day" : "Butir lebih lama sehari",
"mark_all_older_week" : "Butir lebih lama seminggu",
"mark_all_older_two_weeks" : "Butir lebih lama dua minggu",
"settings" : "Pengaturan",
"profile" : "Profil",
"admin" : "Admin",
"about" : "Tentang",
"logout" : "Keluar",
"donate" : "Donasi"
},
"view" : {
"entry_source" : "dari ",
"entry_author" : "oleh ",
"error_while_loading_feed" : "Galat saat memuat umpan ini",
"keep_unread" : "Tetapkan belum dibaca",
"no_unread_items" : "Tidak ada yang butir yang belum dibaca.",
"mark_up_to_here" : "Tandai sebagai dibaca di sini",
"search_for" : "mencari: ",
"no_search_results" : "Tidak ditemukan kata kunci yang sesuai dengan permintaan"
},
"feedsearch" : {
"hint" : "Ketik sebuah langganan...",
"help" : "Gunakan tombol enter untuk memilih dan tombol panah untuk navigasi.",
"result_prefix" : "Langganan Anda:"
},
"settings" : {
"general" : {
"value" : "Umum",
"language" : "Bahasa",
"language_contribute" : "Kontribusi dengan terjemahan",
"show_unread" : "Menampilkan umpan dan kategori tanpa catatan belum dibaca",
"social_buttons" : "Menampilkan tombol sosial berbagi",
"scroll_marks" : "Di penglihatan luas, menggulir melalui catatan menandakan sebagai telah dibaca"
},
"appearance" : "Penampilan",
"scroll_speed" : "Kecepatan menggulir ketika menavigasi antar catatan (dalam milidetik)",
"scroll_speed_help" : "setel ke 0 untuk menonaktifkan",
"theme" : "Tema",
"submit_your_theme" : "Mengajukan tema Anda",
"custom_css" : "Ubah CSS"
},
"details" : {
"feed_details" : "Rincian Umpan",
"url" : "URL",
"website" : "Situs",
"name" : "Nama",
"category" : "Kategori",
"position" : "Posisi",
"last_refresh" : "Penyegaran terakhir",
"message" : "Menyegarkan pesan terakhir",
"next_refresh" : "Penyegaran selanjutnya",
"queued_for_refresh" : "Antri untuk penyegaran",
"feed_url" : "Umpan URL",
"filtering_expression" : "Penyaring ekspresi",
"filtering_expression_help" : "Jika tidak kosong, sebuah ekspresi mengevaluasi ke 'benar' atau 'salah'. Jika salah, catatan baru untuk umpan ini akan ditandai sebagai telah dibaca secara otomatis. \nVariabel yang tersedia adalah 'judul', 'konten', 'url' 'penulis' dan 'kategori' dan konten mereka dikonversi dari huruf kecil ke perbandingan string yang mudah. \nContoh: url.contains('youtube') or (author eq 'athou' and title.contains('github'). \nSintaksis lengkap tersedia di <a href='http://commons.apache.org/proper/commons-jexl/reference/syntax.html' target='_blank'>here</a>.",
"generate_api_key_first" : "Menghasilkan sebuah kunci API di profil Anda terlebih dahulu.",
"unsubscribe" : "Berhenti berlangganan",
"unsubscribe_confirmation" : "Apakah Anda yakin ingin berhenti berlangganan dari umpan ini?",
"delete_category_confirmation" : "Apakah Anda yakin ingin menghapus dari kategori ini?",
"category_details" : "rincian Kategori",
"tag_details" : "rincian Penanda",
"parent_category" : "kategori Induk"
},
"profile" : {
"user_name" : "nama Pengguna",
"email" : "Surel",
"change_password" : "Ganti kata sandi",
"confirm_password" : "Konfirmasi kata sandi",
"minimum_8_chars" : "Minimal 8 karakter",
"passwords_do_not_match" : "Kata sandi tidak sesuai",
"api_key" : "kunci API",
"api_key_not_generated" : "Belum menghasilkan",
"generate_new_api_key" : "Hasilkan kunci API baru",
"generate_new_api_key_info" : "Mengganti kata sandi akan menghasilkan sebuah kunci API baru",
"opml_export" : "ekspor OPML",
"delete_account" : "Hapus akun",
"delete_account_confirmation" : "Hapus akun Anda? Hal ini tidak dapat dikembalikan!"
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed dibangun di atas JAX-RS dan AngularJS. Dengan demikian, tersedia sebuah REST API.",
"link_to_documentation" : "Tautan menuju dokumentasi."
},
"keyboard_shortcuts" : "pintasan Papanketik",
"version" : "versi CommaFeed",
"line1_prefix" : "CommaFeed adalah suatu proyek open-source. Sumber di ",
"line1_suffix" : ".",
"line2_prefix" : "Jika Anda mengalami sebuah isu, silahkan laporkan pada halaman isu ",
"line2_suffix" : " proyek.",
"line3" : "Jika Anda menyukai proyek ini, silahkan mempertimbangkan suatu donasi untuk mendukung pengembang dan membantu menutupi biaya online situs ini.",
"line4" : "Untuk Anda yang lebih suka bitcoin, alamatnya di sini",
"goodies" : {
"value" : "Bingkisan",
"android_app" : "Android app",
"subscribe_url" : "URL Langganan",
"chrome_extension" : "ekstensi Chrome",
"firefox_extension" : "ekstensi Firefox",
"opera_extension" : "ekstensi Opera",
"subscribe_bookmarklet" : "Tambahkan bookmarklet langganan(klik)",
"subscribe_bookmarklet_asc" : "Terlama dahulu",
"subscribe_bookmarklet_desc" : "Terbaru dahulu",
"next_unread_bookmarklet" : "Butir bookmarklet selanjutnya yang belum dibaca (seret ke batang penanda halaman buku)"
},
"translation" : {
"value" : "Terjemahan",
"message" : "Kami membutuhkan bantuan Anda untuk menterjemahkan CommaFeed.",
"link" : "Lihat bagaimana berkontribusi dengan terjemahan."
},
"announcements" : "Pengumuman",
"shortcuts" : {
"mouse_middleclick" : "klik tengah tetikus",
"open_next_entry" : "buka catatan selanjutnya",
"open_previous_entry" : "buka catatan sebelumnya",
"spacebar" : "spasi/shift+spasi",
"move_page_down_up" : "pindah halaman bawah/atas",
"focus_next_entry" : "setel fokus pada catatan selanjutnya tanpa membukanya",
"focus_previous_entry" : "setel fokus pada catatan sebelumnya tanpa membukanya",
"open_next_feed" : "buka umpan atau kategori selanjutnya",
"open_previous_feed" : "buka umpan atau kategori sebelumnya",
"open_close_current_entry" : "buka/tutup catatan saat ini",
"open_current_entry_in_new_window" : "buka catatan saat ini di sebuah jendela baru",
"open_current_entry_in_new_window_background" : "buka catatan saat ini di sebuah jendela baru pada latar",
"star_unstar" : "tanda bintang/tidak catatan saat ini",
"mark_current_entry" : "tandai sebagai telah dibaca/belum catatan saat ini",
"mark_all_as_read" : "tandai semua catatan sebagai telah dibaca",
"open_in_new_tab_mark_as_read" : "buka catatan di tab baru dan tandai sebagai telah dibaca",
"fullscreen" : "beralih modus layar penuh",
"font_size" : "tingkatkan/turunkan ukuran huruf dari catatan saat ini",
"go_to_all" : "menuju ke lihat Semua",
"go_to_starred" : "menuju ke lihat Tanda Bintang",
"feed_search" : "navigasi ke langganan dengan memasukkan nama langganan"
}
}
}

View File

@@ -1,50 +1,50 @@
{ {
"global" : { "global" : {
"save" : "Salva", "save" : "Salva",
"cancel" : "Cancella", "cancel" : "Annulla",
"delete" : "Elimina", "delete" : "Elimina",
"required" : "Required", "required" : "Richiesto",
"download" : "Download", "download" : "Download",
"link" : "Link", "link" : "Link",
"bookmark" : "Segnalibro ", "bookmark" : "Segnalibro",
"close" : "Chiudi", "close" : "Chiudi",
"tags" : "Tags " "tags" : "Tag"
}, },
"tree" : { "tree" : {
"subscribe" : "Iscriviti", "subscribe" : "Iscriviti",
"import" : "Importa", "import" : "Importa",
"new_category" : "Nuova categoria", "new_category" : "Nuova categoria",
"all" : "Tutto", "all" : "Tutti",
"starred" : "Preferiti" "starred" : "Preferiti"
}, },
"subscribe" : { "subscribe" : {
"feed_url" : "Feed URL", "feed_url" : "URL feed",
"feed_name" : "Nome Feed", "feed_name" : "Nome feed",
"category" : "Categoria" "category" : "Categoria"
}, },
"import" : { "import" : {
"google_reader_prefix" : "Importa i tuoi feed dal tuo ", "google_reader_prefix" : "Permettimi di importare i feed dal tuo account ",
"google_reader_suffix" : " account.", "google_reader_suffix" : ".",
"google_download" : "Oppure, carica il tuo subscriptions.xml", "google_download" : "Oppure carica il tuo file subscriptions.xml.",
"google_download_link" : "Scaricalo da qui", "google_download_link" : "Puoi scaricalo da qui.",
"xml_file" : "OPML File" "xml_file" : "File OPML"
}, },
"new_category" : { "new_category" : {
"name" : "Nome", "name" : "Nome",
"parent" : "Parent" "parent" : "Gruppo"
}, },
"toolbar" : { "toolbar" : {
"unread" : "Non letti", "unread" : "Non letti",
"all" : "Tutti", "all" : "Tutti",
"previous_entry" : "Precedente", "previous_entry" : "Precedente",
"next_entry" : "Successivo", "next_entry" : "Successivo",
"refresh" : "Ricarica", "refresh" : "Aggiorna",
"refresh_all" : "Force refresh all my feeds ", "refresh_all" : "Forza l'aggiornamento di tutti i feed",
"sort_by_asc_desc" : "Sort by date asc/desc", "sort_by_asc_desc" : "Ordina per data crescente/decrescente",
"titles_only" : "Solo titoli", "titles_only" : "Solo i titoli",
"expanded_view" : "Espandi", "expanded_view" : "Espandi",
"mark_all_as_read" : "Contrassegna tutto come già letto", "mark_all_as_read" : "Segna tutti come già letti",
"mark_all_older_12_hours" : "Items older than 12 hours ", "mark_all_older_12_hours" : "Elementi più vecchi di 12 ore",
"mark_all_older_day" : "Elementi più vecchi di un giorno", "mark_all_older_day" : "Elementi più vecchi di un giorno",
"mark_all_older_week" : "Elementi più vecchi di una settimana", "mark_all_older_week" : "Elementi più vecchi di una settimana",
"mark_all_older_two_weeks" : "Elementi più vecchi di due settimane", "mark_all_older_two_weeks" : "Elementi più vecchi di due settimane",
@@ -52,129 +52,132 @@
"profile" : "Profilo", "profile" : "Profilo",
"admin" : "Admin", "admin" : "Admin",
"about" : "Informazioni", "about" : "Informazioni",
"logout" : "Logout", "logout" : "Esci",
"donate" : "Dona" "donate" : "Dona"
}, },
"view" : { "view" : {
"entry_source" : "from ", "entry_source" : "da ",
"entry_author" : "by ", "entry_author" : "di ",
"error_while_loading_feed" : "Si è verificato un errore, mentre caricavo il feed", "error_while_loading_feed" : "Si è verificato un errore durante il caricamento del feed",
"keep_unread" : "Mantiene come da leggere", "keep_unread" : "Mantieni come da leggere",
"no_unread_items" : "Non ci sono elementi da leggere.", "no_unread_items" : "non contiene elementi da leggere",
"mark_up_to_here" : "Mark as read up to here ", "mark_up_to_here" : "Segna come letto fin qui",
"search_for" : "searching for: ", "search_for" : "Cerca: ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "Nessun risultato per le parole chiave cercate"
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Type in a subscription... ", "hint" : "Digita il nome di una sottoscrizione... ",
"help" : "Use the return key to select and arrow keys to navigate. ", "help" : "Usa il tasto Invio per selezionare e le frecce per navigare.",
"result_prefix" : "Le tue sottoscrizioni" "result_prefix" : "Le tue sottoscrizioni:"
}, },
"settings" : { "settings" : {
"general" : { "general" : {
"value" : "Generali", "value" : "Generali",
"language" : "Lingua", "language" : "Lingua",
"language_contribute" : "Contribuisci con le traduzioni", "language_contribute" : "Contribuisci alle traduzioni",
"show_unread" : "Show feeds and categories with no unread entries", "show_unread" : "Mostra i feed e le categorie con voci non lette",
"social_buttons" : "Visualizza i social button", "social_buttons" : "Mostra i pulsanti di condivisione social",
"scroll_marks" : "Marca come letto quando scorri" "scroll_marks" : "In vista estesa, segna come lette le voci che scorri"
}, },
"appearance" : "Appearance ", "appearance" : "Aspetto",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "Velocità di scorrimento quando navighi tra i feed (in millisecondi)",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "imposta su 0 per disabilitare",
"theme" : "Tema ", "theme" : "Tema",
"submit_your_theme" : "Sottoponi il tuo tema ", "submit_your_theme" : "Inserisci il tuo tema",
"custom_css" : "Css modificato" "custom_css" : "CSS personalizzato"
}, },
"details" : { "details" : {
"feed_details" : "Dettagli feed", "feed_details" : "Dettagli feed",
"url" : "URL", "url" : "URL",
"website" : "Website ", "website" : "Sito web",
"name" : "Nome", "name" : "Nome",
"category" : "Categoria", "category" : "Categoria",
"position" : "Posizione ", "position" : "Posizione",
"last_refresh" : "Ultimo aggiornamento", "last_refresh" : "Ultimo aggiornamento",
"message" : "Last refresh message ", "message" : "Ultimo messaggio di aggiornamento",
"next_refresh" : "Next refresh ", "next_refresh" : "Prossimo aggiornamento",
"queued_for_refresh" : "In attesa per l'aggiornamento ", "queued_for_refresh" : "In coda per l'aggiornamento",
"feed_url" : "Feed URL", "feed_url" : "URL feed",
"generate_api_key_first" : "Generate an API key in your profile first.", "filtering_expression" : "Espressione filtro",
"unsubscribe" : "Annulla l\"'\"iscrizione", "filtering_expression_help" : "Quando non è vuota, l'espressione viene applicata a ogni nuovo elemento e valutata come 'vera' o 'falsa'. Se falsa, l'elemento verrà segnato automaticamente come letto.\nLe variabili accettate sono 'title' (titolo), 'content' (contenuto), 'url', 'author' (autore) e 'categories' (categorie); il loro contenuto è convertito in minuscolo per facilitarne il confronto.\nEsempio: url.contains('youtube') or (author eq 'athou' and title.contains('github')).\nLa sintassi completa è disponibile <a href='http://commons.apache.org/proper/commons-jexl/reference/syntax.html' target='_blank'>qui</a> (in inglese).",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "generate_api_key_first" : "Genera prima una chiave API nelle impostazioni del tuo profilo.",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "unsubscribe" : "Disiscriviti",
"unsubscribe_confirmation" : "Sei sicuro di voler annullare la sottoscrizione al feed?",
"delete_category_confirmation" : "Sei sicuro di voler eliminare questa categoria?",
"category_details" : "Dettagli categoria", "category_details" : "Dettagli categoria",
"tag_details" : "Tag details ", "tag_details" : "Dettagli tag",
"parent_category" : "Parent category" "parent_category" : "Categoria principale"
}, },
"profile" : { "profile" : {
"user_name" : "User name", "user_name" : "Nome utente",
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Cambia password", "change_password" : "Cambia password",
"confirm_password" : "Conferma 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", "passwords_do_not_match" : "Le password non corrispondono",
"api_key" : "API key", "api_key" : "chiave API",
"api_key_not_generated" : "Non generata ancora", "api_key_not_generated" : "Non ancora generata",
"generate_new_api_key" : "Genera una nuova chiave API", "generate_new_api_key" : "Genera una nuova chiave API",
"generate_new_api_key_info" : "Cambiando la password sarà generata una nuova chiave API", "generate_new_api_key_info" : "Cambiando la password sarà generata una nuova chiave API",
"opml_export" : "Esporta OPML", "opml_export" : "Esporta OPML",
"delete_account" : "Elimina account", "delete_account" : "Elimina account",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "Vuoi eliminare il tuo account? Non si può tornare indietro!"
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
"value" : "REST API", "value" : "REST API",
"line1" : "CommaFeed is built on top of JAX-RS and AngularJS. As such, a REST API is available.", "line1" : "CommaFeed è basato su JAX-RS e AngularJS. Pertanto è disponibile una REST API.",
"link_to_documentation" : "Link alla documentazione." "link_to_documentation" : "Link alla documentazione."
}, },
"keyboard_shortcuts" : "Scorciatoie da tastiera", "keyboard_shortcuts" : "Scorciatoie da tastiera",
"version" : "CommaFeed version ", "version" : "Versione di CommaFeed",
"line1_prefix" : "Commefeed è un progetto open-source. I codici sono hostati su ", "line1_prefix" : "CommaFeed è un progetto open source. Trovi i sorgenti su ",
"line1_suffix" : ".", "line1_suffix" : ".",
"line2_prefix" : "Se hai qualche problema, segnalalo sulla pagina del ", "line2_prefix" : "Se hai qualche problema, segnalalo sulla pagina del progetto ",
"line2_suffix" : " progetto.", "line2_suffix" : ".",
"line3" : "Se ti piace il progetto, prendi in considerazione una donazione per supportare lo sviluppatore e contribuire a coprire i costi di mantenenimento di questo sito on-line.", "line3" : "Se ti piace questo progetto, considera una donazione per supportare lo sviluppatore e aiutare a coprire i costi di manutenzione di questo sito.",
"line4" : "Per chi preferisce Bitcoin, questo è l\"'\"indirizzo ", "line4" : "Se preferisci Bitcoin, questo è l'indirizzo",
"goodies" : { "goodies" : {
"value" : "Goodies", "value" : "Cose che potrebbero interessarti",
"android_app" : "Android app ", "android_app" : "Applicazione Android",
"subscribe_url" : "Subscribe URL ", "subscribe_url" : "Sottoscrivi URL",
"chrome_extension" : "Estenzione per Chrome ", "chrome_extension" : "Estensione per Chrome",
"firefox_extension" : "Estensione per Firefox", "firefox_extension" : "Estensione per Firefox",
"opera_extension" : "Estensione per Opera", "opera_extension" : "Estensione per Opera",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click) ", "subscribe_bookmarklet" : "Aggiungi la sottoscrizione ai segnalibri (clicca)",
"subscribe_bookmarklet_asc" : "Oldest first ", "subscribe_bookmarklet_asc" : "Prima i vecchi",
"subscribe_bookmarklet_desc" : "Newest first ", "subscribe_bookmarklet_desc" : "Prima i recenti",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar) " "next_unread_bookmarklet" : "Segnalibro al prossimo elemento da leggere (trascinalo nella barra dei segnalibri)"
}, },
"translation" : { "translation" : {
"value" : "Traduzioni", "value" : "Traduzioni",
"message" : "Abbiamo bisogno del tuo aiuto per tradurre CommaFeed.", "message" : "Abbiamo bisogno del tuo aiuto per tradurre CommaFeed.",
"link" : "Vedi come aiutare con le traduzioni." "link" : "Scopri come aiutarci nelle traduzioni."
}, },
"announcements" : "Annunci", "announcements" : "Annunci",
"shortcuts" : { "shortcuts" : {
"mouse_middleclick" : "mouse middleclick", "mouse_middleclick" : "click centrale del mouse",
"open_next_entry" : "open next entry", "open_next_entry" : "apri successivo",
"open_previous_entry" : "open previous entry", "open_previous_entry" : "apri precedente",
"spacebar" : "space/shift+space ", "spacebar" : "SPAZIO/MAIUSC+SPAZIO",
"move_page_down_up" : "moves the page down/up ", "move_page_down_up" : "muove la pagina in su/giù",
"focus_next_entry" : "set focus on next entry without opening it ", "focus_next_entry" : "metti a fuoco l'elemento successivo senza aprirlo",
"focus_previous_entry" : "set focus on previous entry without opening it ", "focus_previous_entry" : "metti a fuoco l'elemento precedente senza aprirlo",
"open_next_feed" : "open next feed or category ", "open_next_feed" : "apri il prossimo feed o categoria",
"open_previous_feed" : "open previous feed or category ", "open_previous_feed" : "apri il feed o la categoria precedente",
"open_close_current_entry" : "open/close current entry", "open_close_current_entry" : "apri/chiudi la voce corrente",
"open_current_entry_in_new_window" : "open current entry in a new window", "open_current_entry_in_new_window" : "apri la voce corrente in una nuova finestra",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background ", "open_current_entry_in_new_window_background" : "apri la voce corrente in una nuova finestra in secondo piano",
"star_unstar" : "star/unstar current entry", "star_unstar" : "metti/togli la tua preferenza alla voce corrente",
"mark_current_entry" : "mark as read/unread current entry", "mark_current_entry" : "segna la voce corrente come letta/non letta",
"mark_all_as_read" : "mark all entries as read", "mark_all_as_read" : "segna tutte le voci come lette",
"open_in_new_tab_mark_as_read" : "open entry in new tab and mark as read", "open_in_new_tab_mark_as_read" : "apri voce in un nuovo tab e segna come letta",
"fullscreen" : "toggle full screen mode ", "fullscreen" : "commuta la modalità a schermo intero",
"font_size" : "increase/decrease font size of the current entry ", "font_size" : "aumenta/decrementa la dimensione del font per la voce corrente",
"go_to_all" : "go to the All view ", "go_to_all" : "vai alla vista Tutti",
"go_to_starred" : "go to the Starred view ", "go_to_starred" : "vai alla vista Preferiti",
"feed_search" : "navigate to a subscription by entering the subscription name " "feed_search" : "raggiungi una sottoscrizione scrivendo il suo nome",
"refresh" : "aggiorna"
} }
} }
} }

View File

@@ -3,7 +3,7 @@
"save" : "保存", "save" : "保存",
"cancel" : "取り消し", "cancel" : "取り消し",
"delete" : "削除", "delete" : "削除",
"required" : "Required", "required" : "必須",
"download" : "ダウンロード", "download" : "ダウンロード",
"link" : "リンク", "link" : "リンク",
"bookmark" : "ブックマーク", "bookmark" : "ブックマーク",
@@ -15,7 +15,7 @@
"import" : "インポート", "import" : "インポート",
"new_category" : "新しいカテゴリー", "new_category" : "新しいカテゴリー",
"all" : "全て", "all" : "全て",
"starred" : "スター付" "starred" : "スター付"
}, },
"subscribe" : { "subscribe" : {
"feed_url" : "フィードURL", "feed_url" : "フィードURL",
@@ -40,7 +40,7 @@
"next_entry" : "次のエントリー", "next_entry" : "次のエントリー",
"refresh" : "更新", "refresh" : "更新",
"refresh_all" : "全てのフィードを更新", "refresh_all" : "全てのフィードを更新",
"sort_by_asc_desc" : "昇順/降順にソート", "sort_by_asc_desc" : "日時でソート",
"titles_only" : "タイトルのみ", "titles_only" : "タイトルのみ",
"expanded_view" : "拡張ビュー", "expanded_view" : "拡張ビュー",
"mark_all_as_read" : "全て既読にする", "mark_all_as_read" : "全て既読にする",
@@ -100,8 +100,8 @@
"feed_url" : "フィードURL", "feed_url" : "フィードURL",
"generate_api_key_first" : "最初にあなたのAPIキーを生成して下さい。", "generate_api_key_first" : "最初にあなたのAPIキーを生成して下さい。",
"unsubscribe" : "購読解除", "unsubscribe" : "購読解除",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "フィードの購読を解除してよろしいですか?",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "カテゴリーを削除してよろしいですか?",
"category_details" : "カテゴリー詳細", "category_details" : "カテゴリー詳細",
"tag_details" : "タグ詳細", "tag_details" : "タグ詳細",
"parent_category" : "親カテゴリー" "parent_category" : "親カテゴリー"
@@ -111,15 +111,15 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "パスワードの変更", "change_password" : "パスワードの変更",
"confirm_password" : "変更パスワードの確認", "confirm_password" : "変更パスワードの確認",
"minimum_6_chars" : "6文字以上", "minimum_8_chars" : "8文字以上",
"passwords_do_not_match" : "パスワードが一致しません", "passwords_do_not_match" : "パスワードが一致しません",
"api_key" : "APIキー", "api_key" : "APIキー",
"api_key_not_generated" : "APIキーが生成されていません", "api_key_not_generated" : "APIキーが生成されていません",
"generate_new_api_key" : "新しいAPIキーを生成", "generate_new_api_key" : "新しいAPIキーを生成",
"generate_new_api_key_info" : "パスワード変更新しいAPIキーが生成されます", "generate_new_api_key_info" : "パスワード変更すると新しいAPIキーが生成されます",
"opml_export" : "OPMLエクスポート", "opml_export" : "OPMLエクスポート",
"delete_account" : "アカウント削除", "delete_account" : "アカウント削除",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "アカウントを削除してよろしいですか? 削除すると戻すことはできません!"
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
@@ -149,10 +149,10 @@
}, },
"translation" : { "translation" : {
"value" : "翻訳", "value" : "翻訳",
"message" : "CommaFeedの翻訳に助けが必要です", "message" : "CommaFeedの翻訳にご協力ください",
"link" : "どうやって翻訳に貢献できるか見て下さい。" "link" : "翻訳にあたっての案内はこちら"
}, },
"announcements" : "Announcements", "announcements" : "お知らせ",
"shortcuts" : { "shortcuts" : {
"mouse_middleclick" : "中クリック", "mouse_middleclick" : "中クリック",
"open_next_entry" : "次のエントリーを開く", "open_next_entry" : "次のエントリーを開く",
@@ -170,7 +170,7 @@
"mark_current_entry" : "現在のエントリーを既読/未読にする", "mark_current_entry" : "現在のエントリーを既読/未読にする",
"mark_all_as_read" : "全エントリーを既読にする", "mark_all_as_read" : "全エントリーを既読にする",
"open_in_new_tab_mark_as_read" : "エントリーを既読にして新しいタブで開く", "open_in_new_tab_mark_as_read" : "エントリーを既読にして新しいタブで開く",
"fullscreen" : "フルスクリーントグル", "fullscreen" : "フルスクリーン切り替え",
"font_size" : "現在のエントリーのフォントサイズを大きく/小さくする", "font_size" : "現在のエントリーのフォントサイズを大きく/小さくする",
"go_to_all" : "All viewに変更する", "go_to_all" : "All viewに変更する",
"go_to_starred" : "スター付きviewに変更する", "go_to_starred" : "スター付きviewに変更する",

View File

@@ -4,23 +4,23 @@
"cancel" : "취소", "cancel" : "취소",
"delete" : "삭제", "delete" : "삭제",
"required" : "필수", "required" : "필수",
"download" : "Download ", "download" : "다운로드",
"link" : "Link ", "link" : "링크",
"bookmark" : "Bookmark ", "bookmark" : "북마크",
"close" : "Close ", "close" : "닫기 ",
"tags" : "Tags " "tags" : "태그 "
}, },
"tree" : { "tree" : {
"subscribe" : "구독", "subscribe" : "구독",
"import" : "임포트", "import" : "가져오기",
"new_category" : "새로운 카테고리", "new_category" : "새로운 카테고리",
"all" : "전체", "all" : "전체",
"starred" : "스타" "starred" : "중요 표시됨"
}, },
"subscribe" : { "subscribe" : {
"feed_url" : "피드 URL", "feed_url" : "피드 URL",
"feed_name" : "피드 이름", "feed_name" : "피드 이름",
"category" : "카테로기" "category" : "카테고리"
}, },
"import" : { "import" : {
"google_reader_prefix" : "당신의 Google Reader", "google_reader_prefix" : "당신의 Google Reader",
@@ -31,23 +31,23 @@
}, },
"new_category" : { "new_category" : {
"name" : "이름", "name" : "이름",
"parent" : "카테고리 주소로 가기" "parent" : "부모 카테고리"
}, },
"toolbar" : { "toolbar" : {
"unread" : "읽음", "unread" : "읽지 않음",
"all" : "전체", "all" : "전체",
"previous_entry" : "Previous entry ", "previous_entry" : "이전 항목",
"next_entry" : "Next entry ", "next_entry" : "다음 항목",
"refresh" : "리프래쉬", "refresh" : "새로고침",
"refresh_all" : "Force refresh all my feeds ", "refresh_all" : "모든 피드를 강제로 새로고침",
"sort_by_asc_desc" : "Sort by date asc/desc ", "sort_by_asc_desc" : "날짜별 오름차/내림차순 정렬",
"titles_only" : "Titles only ", "titles_only" : "제목만 표시하기",
"expanded_view" : "Expanded view ", "expanded_view" : "Expanded View",
"mark_all_as_read" : "읽음표시", "mark_all_as_read" : "읽음으로 표시",
"mark_all_older_12_hours" : "Items older than 12 hours ", "mark_all_older_12_hours" : "12시간보다 오래된 항목",
"mark_all_older_day" : "Items older than a day ", "mark_all_older_day" : "1일보다 오래된 항목",
"mark_all_older_week" : "Items older than a week ", "mark_all_older_week" : "1주일보다 오래된 항목",
"mark_all_older_two_weeks" : "Items older than two weeks ", "mark_all_older_two_weeks" : "2주일보다 오래된 항목",
"settings" : "설정", "settings" : "설정",
"profile" : "프로필", "profile" : "프로필",
"admin" : "괸리자", "admin" : "괸리자",
@@ -57,124 +57,124 @@
}, },
"view" : { "view" : {
"entry_source" : "from ", "entry_source" : "from ",
"entry_author" : "by ", "entry_author" : "by ",
"error_while_loading_feed" : "피드로딩중 에러", "error_while_loading_feed" : "피드 로딩중 에러",
"keep_unread" : "안읽은것 저장", "keep_unread" : "항상 읽지 않음으로 표시",
"no_unread_items" : " 읽지않은 항목이 없니다.", "no_unread_items" : " 읽지 않은 항목이 없니다.",
"mark_up_to_here" : "Mark as read up to here ", "mark_up_to_here" : "이 위로 읽음으로 표시",
"search_for" : "searching for: ", "search_for" : "검색: ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "검색 결과 없음"
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Type in a subscription... ", "hint" : "구독 이름을 입력하세요",
"help" : "Use the return key to select and arrow keys to navigate. ", "help" : "화살표 키로 이동하고 엔터 키로 선택하세요.",
"result_prefix" : "Your subscriptions: " "result_prefix" : "검색 결과:"
}, },
"settings" : { "settings" : {
"general" : { "general" : {
"value" : "일반", "value" : "일반",
"language" : "일반 언어", "language" : "언어",
"language_contribute" : "번역 도움하기", "language_contribute" : "번역에 기여하기",
"show_unread" : "안읽은 항목들이 있는 피드와 카테고리 보여주기", "show_unread" : "안 읽은 항목들이 있는 피드와 카테고리 보여주기",
"social_buttons" : "소셜미디아 버튼들 보여주기", "social_buttons" : "공유 버튼 표시하기",
"scroll_marks" : "Expanded View에서 스크롤하면 항목들을 읽음으로 저장하기" "scroll_marks" : "Expanded View에서 스크롤하면 항목들을 읽음으로 표시하기"
}, },
"appearance" : "Appearance ", "appearance" : "외관",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "항목 사이를 이동할 때 스크롤 속도 (밀리초로 설정)",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "비활성화하려면 0으로 설정하세요",
"theme" : "Theme ", "theme" : "테마",
"submit_your_theme" : "Submit your theme ", "submit_your_theme" : "새 테마 업로드",
"custom_css" : "커스 CSS" "custom_css" : "커스 CSS"
}, },
"details" : { "details" : {
"feed_details" : "피드 세", "feed_details" : "피드 세",
"url" : "유알엘", "url" : "URL",
"website" : "Website ", "website" : "웹사이트",
"name" : "이름", "name" : "이름",
"category" : "카테고리", "category" : "카테고리",
"position" : "Position ", "position" : "위치",
"last_refresh" : "마지막 리프래쉬", "last_refresh" : "마지막 새로고침",
"message" : "Last refresh message ", "message" : "마지막 새로고침 메시지",
"next_refresh" : "Next refresh ", "next_refresh" : "다음 새로고침",
"queued_for_refresh" : "Queued for refresh ", "queued_for_refresh" : "새로고침 대기중",
"feed_url" : "피드 유알엘", "feed_url" : "피드 URL",
"generate_api_key_first" : "당신의 프로필을 위해 API Key를 먼저 생성하세요.", "generate_api_key_first" : "당신의 프로필을 위해 API Key를 먼저 생성하세요.",
"unsubscribe" : "주소 삭제", "unsubscribe" : "구독 해제",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "정말 이 피드를 구독 해제하시겠습니까?",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "정말 이 카테고리를 삭제하시겠습니까?",
"category_details" : "카테고리 세", "category_details" : "카테고리 세",
"tag_details" : "Tag details ", "tag_details" : "태그 상세",
"parent_category" : "부모 카테고리" "parent_category" : "부모 카테고리"
}, },
"profile" : { "profile" : {
"user_name" : "사용자 이름", "user_name" : "사용자 이름",
"email" : "이메일", "email" : "이메일",
"change_password" : "비밀번호변경", "change_password" : "비밀번호 변경",
"confirm_password" : "비밀번호확인", "confirm_password" : "비밀번호 확인",
"minimum_6_chars" : "최소로 6자문자가 필요합니다.", "minimum_8_chars" : "최소 8개의 문자가 필요합니다.",
"passwords_do_not_match" : "비밀번호가 일치하지 않습니다.", "passwords_do_not_match" : "비밀번호가 일치하지 않습니다.",
"api_key" : "API key", "api_key" : "API key",
"api_key_not_generated" : "아직 API Key가 생성되지 않았습니다.", "api_key_not_generated" : "아직 API Key가 생성되지 않았습니다.",
"generate_new_api_key" : "API Key 생성하기", "generate_new_api_key" : "API Key 생성하기",
"generate_new_api_key_info" : "비밀번호를 변경하면 새로운 API Key가 생성됩니다.", "generate_new_api_key_info" : "비밀번호를 변경하면 새로운 API Key가 생성됩니다.",
"opml_export" : "OPML export ", "opml_export" : "OPML 내보내기",
"delete_account" : "프로필삭제", "delete_account" : "계정 삭제하기",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "계정을 삭제하시겠습니까? 되돌릴 수 없어요!"
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
"value" : "REST API", "value" : "REST API",
"line1" : "CommaFeed는 JAX-RS하고 AngularJS를 이용해 만들었습니다. 그렇기 때문에 REST API를 사용할수있습니다.", "line1" : "CommaFeed는 JAX-RS AngularJS를 이용해 만들었습니다. 그렇기 때문에 REST API를 사용할수있습니다.",
"link_to_documentation" : "문서 링크." "link_to_documentation" : "문서 링크."
}, },
"keyboard_shortcuts" : "단축", "keyboard_shortcuts" : "단축",
"version" : "CommaFeed version ", "version" : "CommaFeed 버전",
"line1_prefix" : "CommaFeed는 오픈 소스프로젝트입니다. 소스는", "line1_prefix" : "CommaFeed는 오픈 소스 프로젝트입니다. 소스는",
"line1_suffix" : "에 있습니다.", "line1_suffix" : "에 있습니다.",
"line2_prefix" : "문제가 발생하는 경우", "line2_prefix" : "문제가 발생하는 경우",
"line2_suffix" : " 프로젝트 문제페이지에 보고하십시.", "line2_suffix" : " 프로젝트 문제 페이지에 보고하십시.",
"line3" : "이 프로젝트를 좋아하시면 개발자를 지원하고 웹사이트 유지용비를 충당하는 데 도움이되는 기부금을 고려하시기 바랍니다.", "line3" : "이 프로젝트를 좋아하시면 개발자를 지원하고 웹사이트 유지비용을 충당하는 데 도움이 되는 기부금을 고려하시기 바랍니다.",
"line4" : "For those of you who prefer bitcoin, here is the address ", "line4" : "비트코인으로 기부하기",
"goodies" : { "goodies" : {
"value" : "Goodies", "value" : "Goodies",
"android_app" : "Android app ", "android_app" : "안드로이드 앱",
"subscribe_url" : "Subscribe URL ", "subscribe_url" : "구독 URL",
"chrome_extension" : "Chrome extension ", "chrome_extension" : "Chrome 확장 프로그램",
"firefox_extension" : "Firefox extension ", "firefox_extension" : "Firefox 확장 기능",
"opera_extension" : "Opera extension ", "opera_extension" : "Opera 확장 기능",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click) ", "subscribe_bookmarklet" : "구독 북마크 추가 (클릭)",
"subscribe_bookmarklet_asc" : "Oldest first ", "subscribe_bookmarklet_asc" : "오래된 것 먼저",
"subscribe_bookmarklet_desc" : "Newest first ", "subscribe_bookmarklet_desc" : "새로운 것 먼저",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar) " "next_unread_bookmarklet" : "안 읽은 항목 북마크 (북마크바에 끌기) "
}, },
"translation" : { "translation" : {
"value" : "번역", "value" : "번역",
"message" : "CommaFeed를 번역할려면 당신의 도움이 필요합니다.", "message" : "CommaFeed를 번역하는데 당신의 도움이 필요합니다.",
"link" : "번역에 기여하기" "link" : "번역에 기여하기"
}, },
"announcements" : "공지", "announcements" : "공지",
"shortcuts" : { "shortcuts" : {
"mouse_middleclick" : "마우 미들클릭", "mouse_middleclick" : "마우 미들클릭",
"open_next_entry" : "다음 항목 열기", "open_next_entry" : "다음 항목 열기",
"open_previous_entry" : "이전 항목 열기", "open_previous_entry" : "이전 항목 열기",
"spacebar" : "space/shift+space ", "spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ", "move_page_down_up" : "페이지 아래/위로 이동 ",
"focus_next_entry" : "set focus on next entry without opening it ", "focus_next_entry" : "열지 않고 다음 항목 보기",
"focus_previous_entry" : "set focus on previous entry without opening it ", "focus_previous_entry" : "열지 않고 이전 항목 보기",
"open_next_feed" : "open next feed or category ", "open_next_feed" : "다음 피드나 카테고리 열기",
"open_previous_feed" : "open previous feed or category ", "open_previous_feed" : "이전 피드나 카테고리 열기",
"open_close_current_entry" : "현재 항목 열기/닫기", "open_close_current_entry" : "현재 항목 열기/닫기",
"open_current_entry_in_new_window" : "새 창에서 현재 항목열기", "open_current_entry_in_new_window" : "새 창으로 현재 항목 열기",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background ", "open_current_entry_in_new_window_background" : "백그라운드에 새 창으로 현재 항목 열기",
"star_unstar" : "현재 항목 스타/스타제거", "star_unstar" : "현재 항목 중요 표시/중요 표시 제거",
"mark_current_entry" : "현재 항목 읽음/안읽음 표시", "mark_current_entry" : "현재 항목 읽음/안읽음 표시",
"mark_all_as_read" : "모든 항목 읽음으로 표시", "mark_all_as_read" : "모든 항목 읽음으로 표시",
"open_in_new_tab_mark_as_read" : "읽음으로 표시하고 새로운 탭에서 열기", "open_in_new_tab_mark_as_read" : "읽음으로 표시하고 새로운 탭에서 열기",
"fullscreen" : "toggle full screen mode ", "fullscreen" : "전체화면 켜기/끄기",
"font_size" : "increase/decrease font size of the current entry ", "font_size" : "현재 항목의 글꼴 크기를 크게/작게",
"go_to_all" : "go to the All view ", "go_to_all" : "모든 항목 보기",
"go_to_starred" : "go to the Starred view ", "go_to_starred" : "중요 표시한 항목 보기",
"feed_search" : "navigate to a subscription by entering the subscription name " "feed_search" : "구독 이름으로 구독 찾기"
} }
} }
} }

View File

@@ -111,7 +111,7 @@
"email" : "E-mel", "email" : "E-mel",
"change_password" : "Tukar kata laluan", "change_password" : "Tukar kata laluan",
"confirm_password" : "Sahkan 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", "passwords_do_not_match" : "Kata laluan tidak sama",
"api_key" : "API key", "api_key" : "API key",
"api_key_not_generated" : "Belum dijana", "api_key_not_generated" : "Belum dijana",

View File

@@ -111,7 +111,7 @@
"email" : "E-post", "email" : "E-post",
"change_password" : "Endre passord", "change_password" : "Endre passord",
"confirm_password" : "Bekreft 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", "passwords_do_not_match" : "Passordene er ikke like",
"api_key" : "API-nøkkel", "api_key" : "API-nøkkel",
"api_key_not_generated" : "Har ikke blitt generert", "api_key_not_generated" : "Har ikke blitt generert",

View File

@@ -111,7 +111,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Verander wachtwoord", "change_password" : "Verander wachtwoord",
"confirm_password" : "Bevestig 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", "passwords_do_not_match" : "Wachtwoorden komen niet overeen",
"api_key" : "API sleutel", "api_key" : "API sleutel",
"api_key_not_generated" : "Nog niet gegenereerd", "api_key_not_generated" : "Nog niet gegenereerd",

View File

@@ -111,7 +111,7 @@
"email" : "E-post", "email" : "E-post",
"change_password" : "Endre passord", "change_password" : "Endre passord",
"confirm_password" : "Stadfest passord", "confirm_password" : "Stadfest passord",
"minimum_6_chars" : "Minimum 6 teikn", "minimum_8_chars" : "Minimum 8 teikn",
"passwords_do_not_match" : "Passorda er usamde", "passwords_do_not_match" : "Passorda er usamde",
"api_key" : "API-nykel", "api_key" : "API-nykel",
"api_key_not_generated" : "Har ikkje vorte generert", "api_key_not_generated" : "Har ikkje vorte generert",

View File

@@ -39,12 +39,12 @@
"previous_entry" : "Poprzedni element", "previous_entry" : "Poprzedni element",
"next_entry" : "Następny element", "next_entry" : "Następny element",
"refresh" : "Odswież", "refresh" : "Odswież",
"refresh_all" : "Force refresh all my feeds ", "refresh_all" : "Odśwież teraz wszystkie kanały ",
"sort_by_asc_desc" : "Sortuj od najnowszego/najstarszego", "sort_by_asc_desc" : "Sortuj od najnowszego/najstarszego",
"titles_only" : "Widok listy", "titles_only" : "Widok listy",
"expanded_view" : "Widok rozwinięty", "expanded_view" : "Widok rozwinięty",
"mark_all_as_read" : "Oznacz wszystko jako przeczytane", "mark_all_as_read" : "Oznacz wszystko jako przeczytane",
"mark_all_older_12_hours" : "Items older than 12 hours ", "mark_all_older_12_hours" : "Elementy starsze niż 12 godzin ",
"mark_all_older_day" : "Elementy starsze niż dzień", "mark_all_older_day" : "Elementy starsze niż dzień",
"mark_all_older_week" : "Elementy starsze niż tydzień", "mark_all_older_week" : "Elementy starsze niż tydzień",
"mark_all_older_two_weeks" : "Elementy starsze niż dwa tygodnie", "mark_all_older_two_weeks" : "Elementy starsze niż dwa tygodnie",
@@ -61,9 +61,9 @@
"error_while_loading_feed" : "Wystąpił błąd podczas ładowania tego kanału.", "error_while_loading_feed" : "Wystąpił błąd podczas ładowania tego kanału.",
"keep_unread" : "Pozostaw nieprzeczytane", "keep_unread" : "Pozostaw nieprzeczytane",
"no_unread_items" : " nie ma nieprzeczytanych elementów.", "no_unread_items" : " nie ma nieprzeczytanych elementów.",
"mark_up_to_here" : "Mark as read up to here ", "mark_up_to_here" : "Oznacz jako przeczytane do tego elementu ",
"search_for" : "searching for: ", "search_for" : "wyszukiwanie dla: ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "Nie znaleziono wyników dla wyszukiwanej frazy "
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Wpisz subskrybcję...", "hint" : "Wpisz subskrybcję...",
@@ -80,8 +80,8 @@
"scroll_marks" : "W widoku rozwiniętym przewijanie oznacza elementy jako przeczytane" "scroll_marks" : "W widoku rozwiniętym przewijanie oznacza elementy jako przeczytane"
}, },
"appearance" : "Wygląd", "appearance" : "Wygląd",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "Prędkość przewijania podczas nawigowania pomiędzy wpisami (w milisekundach) ",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "ustaw na 0 by wyłączyć ",
"theme" : "Motyw", "theme" : "Motyw",
"submit_your_theme" : "Wyślij swój motyw", "submit_your_theme" : "Wyślij swój motyw",
"custom_css" : "Własny styl CSS" "custom_css" : "Własny styl CSS"
@@ -89,21 +89,23 @@
"details" : { "details" : {
"feed_details" : "Szczegóły kanału", "feed_details" : "Szczegóły kanału",
"url" : "URL", "url" : "URL",
"website" : "Website ", "website" : "Strona internetowa",
"name" : "Nazwa", "name" : "Nazwa",
"category" : "Kategoria", "category" : "Kategoria",
"position" : "Pozycja", "position" : "Pozycja",
"last_refresh" : "Ostatnio odświeżony", "last_refresh" : "Ostatnio odświeżony",
"message" : "Last refresh message ", "message" : "Ostatnia odpowiedź odświeżenia",
"next_refresh" : "Następne odświeżenie", "next_refresh" : "Następne odświeżenie",
"queued_for_refresh" : "W kolejce do odświeżenia", "queued_for_refresh" : "W kolejce do odświeżenia",
"feed_url" : "URL kanału", "feed_url" : "URL kanału",
"filtering_expression" : "Wyrażenie filtrujące",
"filtering_expression_help" : "Ustaw puste, by wyłączyć. W przeciwnym razie wyrażenie zwracające 'true' lub 'false'. Dla 'false' nowe elementy w kanale będą autmatycznie \noznaczane jako przeczytane. Dostępne zmienne to: 'title', 'content', 'url' 'author' and 'categories'. Ich zawartość jest konwertowana na małe litery \npodczas porówynywania tekstu. Przykład: url.contains('youtube') albo (author eq 'athou' and title.contains('github') \nPełna dostępna składnia jest dostępna pod <a href='http://commons.apache.org/proper/commons-jexl/reference/syntax.html' target='_blank'>tym</a> adresem.",
"generate_api_key_first" : "Najpierw wygeneruj klucz API w swoim profilu.", "generate_api_key_first" : "Najpierw wygeneruj klucz API w swoim profilu.",
"unsubscribe" : "Cofnij subskrypcje", "unsubscribe" : "Cofnij subskrypcje",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "Czy na pewno chcesz cofnąć sybskrypcję tego kanału? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "Czy na pewno chcesz usunąć tą kategor? ",
"category_details" : "Szczegóły kategorii", "category_details" : "Szczegóły kategorii",
"tag_details" : "Tag details ", "tag_details" : "Szczegóły tagu ",
"parent_category" : "Kategoria nadrzędna" "parent_category" : "Kategoria nadrzędna"
}, },
"profile" : { "profile" : {
@@ -111,7 +113,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Zmień hasło", "change_password" : "Zmień hasło",
"confirm_password" : "Potwierdź 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", "passwords_do_not_match" : "Hasła nie pasują do siebie",
"api_key" : "Klucz API", "api_key" : "Klucz API",
"api_key_not_generated" : "Jeszcze niewygenerowany", "api_key_not_generated" : "Jeszcze niewygenerowany",
@@ -119,7 +121,7 @@
"generate_new_api_key_info" : "Zmiana hasła spowoduje wygenerowanie nowego klucza API", "generate_new_api_key_info" : "Zmiana hasła spowoduje wygenerowanie nowego klucza API",
"opml_export" : "Eksportuj do pliku OPML", "opml_export" : "Eksportuj do pliku OPML",
"delete_account" : "Usuń konto", "delete_account" : "Usuń konto",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "Na pewno usunąć to konto? Nie można tego cofnąć! "
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
@@ -143,8 +145,8 @@
"firefox_extension" : "Dodatek do Firefoxa", "firefox_extension" : "Dodatek do Firefoxa",
"opera_extension" : "Dodatek do Opery", "opera_extension" : "Dodatek do Opery",
"subscribe_bookmarklet" : "Dodaj subskrybcje jako skryptozakładkę (kliknij)", "subscribe_bookmarklet" : "Dodaj subskrybcje jako skryptozakładkę (kliknij)",
"subscribe_bookmarklet_asc" : "Oldest first ", "subscribe_bookmarklet_asc" : "Najpierw najstarsze ",
"subscribe_bookmarklet_desc" : "Newest first ", "subscribe_bookmarklet_desc" : "Najpierw najnowsze ",
"next_unread_bookmarklet" : "Następny nieprzeczytany element jako skryptozakładka (przeciągnij na pasek zakładek)" "next_unread_bookmarklet" : "Następny nieprzeczytany element jako skryptozakładka (przeciągnij na pasek zakładek)"
}, },
"translation" : { "translation" : {
@@ -172,9 +174,9 @@
"open_in_new_tab_mark_as_read" : "otwórz w nowej zakładce i oznacz jako przeczytane", "open_in_new_tab_mark_as_read" : "otwórz w nowej zakładce i oznacz jako przeczytane",
"fullscreen" : "przełącz tryb pełnoekranowy", "fullscreen" : "przełącz tryb pełnoekranowy",
"font_size" : "zmień wielkość czcionki", "font_size" : "zmień wielkość czcionki",
"go_to_all" : "go to the All view ", "go_to_all" : "przejdź do widoku Wszystkich elementów ",
"go_to_starred" : "go to the Starred view ", "go_to_starred" : "przejdź do Elementów oznaczonych gwiazdką ",
"feed_search" : "przejdź do subskrybcji wpisując jej nazwę" "feed_search" : "przejdź do subskrybcji wpisując jej nazwę"
} }
} }
} }

View File

@@ -62,8 +62,8 @@
"keep_unread" : "Manter como não lido", "keep_unread" : "Manter como não lido",
"no_unread_items" : "não tem itens não lidos.", "no_unread_items" : "não tem itens não lidos.",
"mark_up_to_here" : "Marcar como lido até aqui", "mark_up_to_here" : "Marcar como lido até aqui",
"search_for" : "searching for: ", "search_for" : "Procurando por: ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "Nenhum resultado encontrado para a pesquisa."
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Digite o nome de uma Inscrição...", "hint" : "Digite o nome de uma Inscrição...",
@@ -80,8 +80,8 @@
"scroll_marks" : "No modo expandido, percorrer os itens marca-os como lidos" "scroll_marks" : "No modo expandido, percorrer os itens marca-os como lidos"
}, },
"appearance" : "Aparência", "appearance" : "Aparência",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "Velocidade de rolagem enquanto navega pelos itens.",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "Deixe em 0 para desabilitar ",
"theme" : "Tema", "theme" : "Tema",
"submit_your_theme" : "Envie seu tema", "submit_your_theme" : "Envie seu tema",
"custom_css" : "CSS personalizado" "custom_css" : "CSS personalizado"
@@ -94,24 +94,24 @@
"category" : "Categoria", "category" : "Categoria",
"position" : "Posição", "position" : "Posição",
"last_refresh" : "Última atualização", "last_refresh" : "Última atualização",
"message" : "Last refresh message ", "message" : "Ultima mensagem de atualização ",
"next_refresh" : "Próxima atualização", "next_refresh" : "Próxima atualização",
"queued_for_refresh" : "Na fila para atualizar", "queued_for_refresh" : "Na fila para atualizar",
"feed_url" : "URL do feed", "feed_url" : "URL do feed",
"generate_api_key_first" : "Gerar uma chave de API em seu perfil primeiro.", "generate_api_key_first" : "Gerar uma chave de API em seu perfil primeiro.",
"unsubscribe" : "Cancelar inscrição", "unsubscribe" : "Cancelar inscrição",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "Você tem certeza de que deseja se desinscrever desse feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "Você tem certeza de que deseja deletar essa categoria? ",
"category_details" : "Detalhes da categoria", "category_details" : "Detalhes da categoria",
"tag_details" : "Tag details ", "tag_details" : "Detalhes da tag ",
"parent_category" : "Categoria pai" "parent_category" : "Categoria principal"
}, },
"profile" : { "profile" : {
"user_name" : "Nome de usuário", "user_name" : "Nome de usuário",
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Trocar senha", "change_password" : "Trocar senha",
"confirm_password" : "Confirmar 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", "passwords_do_not_match" : "Senhas não conferem",
"api_key" : "Chave de API", "api_key" : "Chave de API",
"api_key_not_generated" : "Ainda não gerada", "api_key_not_generated" : "Ainda não gerada",
@@ -119,7 +119,7 @@
"generate_new_api_key_info" : "Mudar a senha irá gerar uma nova chave de API", "generate_new_api_key_info" : "Mudar a senha irá gerar uma nova chave de API",
"opml_export" : "Exportar OPML", "opml_export" : "Exportar OPML",
"delete_account" : "Excluir conta", "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" : { "about" : {
"rest_api" : { "rest_api" : {
@@ -129,7 +129,7 @@
}, },
"keyboard_shortcuts" : "Atalhos de teclado", "keyboard_shortcuts" : "Atalhos de teclado",
"version" : "CommaFeed versão", "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" : ".", "line1_suffix" : ".",
"line2_prefix" : "Se você encontrar um problema, por favor relate-o na página de problemas do projeto ", "line2_prefix" : "Se você encontrar um problema, por favor relate-o na página de problemas do projeto ",
"line2_suffix" : ".", "line2_suffix" : ".",
@@ -143,13 +143,13 @@
"firefox_extension" : "Extensão para o Firefox", "firefox_extension" : "Extensão para o Firefox",
"opera_extension" : "Extensão para o Opera", "opera_extension" : "Extensão para o Opera",
"subscribe_bookmarklet" : "Bookmarklet para adicionar inscrição (clique)", "subscribe_bookmarklet" : "Bookmarklet para adicionar inscrição (clique)",
"subscribe_bookmarklet_asc" : "Mais velhas primeiro", "subscribe_bookmarklet_asc" : "Mais antigas primeiro",
"subscribe_bookmarklet_desc" : "Mais novas 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)" "next_unread_bookmarklet" : "Bookmarklet para o próximo item não lido (arraste para a barra de favoritos)"
}, },
"translation" : { "translation" : {
"value" : "Tradução", "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." "link" : "Veja como contribuir com traduções."
}, },
"announcements" : "Anúncios", "announcements" : "Anúncios",
@@ -177,4 +177,4 @@
"feed_search" : "navega entre inscrições buscando pelo nome" "feed_search" : "navega entre inscrições buscando pelo nome"
} }
} }
} }

View File

@@ -111,7 +111,7 @@
"email" : "Эл. почта", "email" : "Эл. почта",
"change_password" : "Изменить пароль", "change_password" : "Изменить пароль",
"confirm_password" : "Подтвердите пароль", "confirm_password" : "Подтвердите пароль",
"minimum_6_chars" : "Не меньше 6 символов", "minimum_8_chars" : "Не меньше 8 символов",
"passwords_do_not_match" : "Пароли не совпадают", "passwords_do_not_match" : "Пароли не совпадают",
"api_key" : "API-ключ", "api_key" : "API-ключ",
"api_key_not_generated" : "Не сгенерирован", "api_key_not_generated" : "Не сгенерирован",
@@ -177,4 +177,4 @@
"feed_search" : "перейти к подписке по названию" "feed_search" : "перейти к подписке по названию"
} }
} }
} }

View File

@@ -111,7 +111,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Zmeniť heslo", "change_password" : "Zmeniť heslo",
"confirm_password" : "Potvrdiť 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ú", "passwords_do_not_match" : "Heslá sa nezhodujú",
"api_key" : "API kľúč", "api_key" : "API kľúč",
"api_key_not_generated" : "Nie je vygenerovaný", "api_key_not_generated" : "Nie je vygenerovaný",

View File

@@ -111,7 +111,7 @@
"email" : "E-mail", "email" : "E-mail",
"change_password" : "Ändra lösenord", "change_password" : "Ändra lösenord",
"confirm_password" : "Bekräfta 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", "passwords_do_not_match" : "Lösenorden matchar inte",
"api_key" : "API-nyckel", "api_key" : "API-nyckel",
"api_key_not_generated" : "Inte skapad än", "api_key_not_generated" : "Inte skapad än",

View File

@@ -8,7 +8,7 @@
"link" : "Bağlantı", "link" : "Bağlantı",
"bookmark" : "Yer imi", "bookmark" : "Yer imi",
"close" : "Kapat", "close" : "Kapat",
"tags" : "Tags " "tags" : "Etiketler "
}, },
"tree" : { "tree" : {
"subscribe" : "Abone ol", "subscribe" : "Abone ol",
@@ -24,7 +24,7 @@
}, },
"import" : { "import" : {
"google_reader_prefix" : "Aboneliklerinizi ", "google_reader_prefix" : "Aboneliklerinizi ",
"google_reader_suffix" : " hesabınızdan aktarmama izin verin.", "google_reader_suffix" : "Hesabınızdan aktarmama izin verin.",
"google_download" : "Veya, subscriptions.xml dosyanızı yükleyin.", "google_download" : "Veya, subscriptions.xml dosyanızı yükleyin.",
"google_download_link" : "Buradan indirebilirsiniz.", "google_download_link" : "Buradan indirebilirsiniz.",
"xml_file" : "OPML dosyası" "xml_file" : "OPML dosyası"
@@ -39,15 +39,15 @@
"previous_entry" : "Önceki ileti", "previous_entry" : "Önceki ileti",
"next_entry" : "Sonraki ileti", "next_entry" : "Sonraki ileti",
"refresh" : "Yenile", "refresh" : "Yenile",
"refresh_all" : "Force refresh all my feeds ", "refresh_all" : "Tüm yayınları yenilemek için zorla",
"sort_by_asc_desc" : "Tarihe göre sırala artan/azalan", "sort_by_asc_desc" : "Tarihe göre sırala artan/azalan",
"titles_only" : "Sadece başlıklar", "titles_only" : "Sadece başlıklar",
"expanded_view" : "Genişletilmiş görünüm", "expanded_view" : "Genişletilmiş görünüm",
"mark_all_as_read" : "Tümünü okundu işaretle", "mark_all_as_read" : "Tümünü okundu işaretle",
"mark_all_older_12_hours" : "Items older than 12 hours ", "mark_all_older_12_hours" : "12 saatten daha eski yayınlar ",
"mark_all_older_day" : "Bir günden eski yazılar", "mark_all_older_day" : "Bir günden eski yayınlar",
"mark_all_older_week" : "Bir haftadan eski yazılar", "mark_all_older_week" : "Bir haftadan eski yayınlar",
"mark_all_older_two_weeks" : "İki haftadan eski yazılar", "mark_all_older_two_weeks" : "İki haftadan eski yayınlar",
"settings" : "Ayarlar", "settings" : "Ayarlar",
"profile" : "Profil", "profile" : "Profil",
"admin" : "Yönetim", "admin" : "Yönetim",
@@ -56,14 +56,14 @@
"donate" : "Bağış" "donate" : "Bağış"
}, },
"view" : { "view" : {
"entry_source" : "from ", "entry_source" : "kaynak: ",
"entry_author" : "by ", "entry_author" : "yazar: ",
"error_while_loading_feed" : "Bu aboneliği çekerken hata oluştu.", "error_while_loading_feed" : "Bu aboneliği çekerken hata oluştu.",
"keep_unread" : "Okunmadı olarak sakla", "keep_unread" : "Okunmadı olarak sakla",
"no_unread_items" : "okunmamış ileti yok.", "no_unread_items" : "Okunmamış ileti yok.",
"mark_up_to_here" : "Mark as read up to here ", "mark_up_to_here" : "Buraya kadar olan bütün yayınları okundu olarak işaretle!",
"search_for" : "searching for: ", "search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords " "no_search_results" : "İstenen anahtar kelimeler için eşleşme bulunamadı"
}, },
"feedsearch" : { "feedsearch" : {
"hint" : "Bir abonelik yazın...", "hint" : "Bir abonelik yazın...",
@@ -80,8 +80,8 @@
"scroll_marks" : "Genişletilmiş görünümde götüntülenen iletileri okunmuş işaretle" "scroll_marks" : "Genişletilmiş görünümde götüntülenen iletileri okunmuş işaretle"
}, },
"appearance" : "Görünüm", "appearance" : "Görünüm",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ", "scroll_speed" : "İçerikler arasında gezinirken kaydırma hızı (milisaniye cinsinden)",
"scroll_speed_help" : "set to 0 to disable ", "scroll_speed_help" : "ayarı kapatmak için 0 yazınız",
"theme" : "Tema", "theme" : "Tema",
"submit_your_theme" : "Tema gönder", "submit_your_theme" : "Tema gönder",
"custom_css" : "Kişiselleştirilmiş CSS" "custom_css" : "Kişiselleştirilmiş CSS"
@@ -100,10 +100,10 @@
"feed_url" : "Yayın URL'si", "feed_url" : "Yayın URL'si",
"generate_api_key_first" : "Öncelikle profilinizden bir API anahtarı oluşturun.", "generate_api_key_first" : "Öncelikle profilinizden bir API anahtarı oluşturun.",
"unsubscribe" : "Aboneliği iptal et", "unsubscribe" : "Aboneliği iptal et",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ", "unsubscribe_confirmation" : "Bu yayından çıkmak istediğinizden emin misiniz? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ", "delete_category_confirmation" : "Bu kategoriyi silmek istediğinizden emin misiniz? ",
"category_details" : "Kategori detayları", "category_details" : "Kategori detayları",
"tag_details" : "Tag details ", "tag_details" : "Etiket detayları ",
"parent_category" : "Üst kategori" "parent_category" : "Üst kategori"
}, },
"profile" : { "profile" : {
@@ -111,15 +111,15 @@
"email" : "E-posta", "email" : "E-posta",
"change_password" : "Şifre değiştir", "change_password" : "Şifre değiştir",
"confirm_password" : "Şifreyi doğrula", "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", "passwords_do_not_match" : "Şifreler uyuşmuyor",
"api_key" : "API anahtarı", "api_key" : "API anahtarı",
"api_key_not_generated" : "Henüz oluşturulmadı", "api_key_not_generated" : "Henüz oluşturulmadı",
"generate_new_api_key" : "Yeni bir API anahtarı oluştur", "generate_new_api_key" : "Yeni bir API anahtarı oluştur",
"generate_new_api_key_info" : "Şifre değiştirmek API anahtarının da değiştirilmesine neden olcak.", "generate_new_api_key_info" : "Şifreyi değiştirmek API anahtarının da değiştirilmesine neden olcak.",
"opml_export" : "OPML dışa aktar", "opml_export" : "OPML dışa aktar",
"delete_account" : "Hesabı sil", "delete_account" : "Hesabı sil",
"delete_account_confirmation" : "Delete your acount? There's no turning back! " "delete_account_confirmation" : "Hesabı silmek istediğinize emin misiniz? Bu işlemde geri dönüş yoktur! "
}, },
"about" : { "about" : {
"rest_api" : { "rest_api" : {
@@ -128,24 +128,24 @@
"link_to_documentation" : "Dökümantasyon için tıklayın." "link_to_documentation" : "Dökümantasyon için tıklayın."
}, },
"keyboard_shortcuts" : "Klavye kısayolları", "keyboard_shortcuts" : "Klavye kısayolları",
"version" : "CommaFeed version ", "version" : "CommaFeed versiyon ",
"line1_prefix" : "CommaFeed bir açık kaynak projedir. Kaynak dosyaları ", "line1_prefix" : "CommaFeed bir açık kaynak projedir. Kaynak dosyaları ",
"line1_suffix" : " adresinde yayınlanır.", "line1_suffix" : "adresinde yayınlanır.",
"line2_prefix" : "Lütfen, bir hata ile karşılaşırsanız bunu ", "line2_prefix" : "Lütfen, bir hata ile karşılaşırsanız bunu ",
"line2_suffix" : " projesinde hatalar sayfasından rapor edin.", "line2_suffix" : "projesinde hatalar sayfasından rapor edin.",
"line3" : "Eğer bu projeyi beğendiyseniz, lütfen bağış yaparak geliştiriciye bu sayfayı ayakta tutmasında yardımcı olun.", "line3" : "Eğer bu projeyi beğendiyseniz, lütfen bağış yaparak geliştiriciye bu sayfayı ayakta tutmasında yardımcı olun.",
"line4" : "Bitcoin'i tercih edenler için adres ", "line4" : "Bitcoin'i tercih edenler için adres ",
"goodies" : { "goodies" : {
"value" : "Extralar", "value" : "Ekstralar",
"android_app" : "Android app ", "android_app" : "Android eklentisi",
"subscribe_url" : "Abonelik URL'si", "subscribe_url" : "Abonelik URL'si",
"chrome_extension" : "Chrome eklentisi", "chrome_extension" : "Chrome eklentisi",
"firefox_extension" : "Firefox eklentisi", "firefox_extension" : "Firefox eklentisi",
"opera_extension" : "Opera eklentisi", "opera_extension" : "Opera eklentisi",
"subscribe_bookmarklet" : "Bookmarklet'a abonelik ekle (tıklayın)", "subscribe_bookmarklet" : "Yer imilerine abonelik ekle (tıklayın)",
"subscribe_bookmarklet_asc" : "Oldest first ", "subscribe_bookmarklet_asc" : "Eskiler önce",
"subscribe_bookmarklet_desc" : "Newest first ", "subscribe_bookmarklet_desc" : "Yeniler önce ",
"next_unread_bookmarklet" : "Bookmarklet'daki en son okunmamış ileti (Sık kullanılan çubuğuna sürükleyin)" "next_unread_bookmarklet" : "Yer imilerindeki en son okunmamış ileti (Sık kullanılan çubuğuna sürükleyin)"
}, },
"translation" : { "translation" : {
"value" : "Çeviri", "value" : "Çeviri",
@@ -158,7 +158,7 @@
"open_next_entry" : "sonraki öğeyi görüntüle", "open_next_entry" : "sonraki öğeyi görüntüle",
"open_previous_entry" : "önceki öğeyi görüntüle", "open_previous_entry" : "önceki öğeyi görüntüle",
"spacebar" : "space/shift+space ", "spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ", "move_page_down_up" : "sayfayı aşağı/yukarı hareket ettir",
"focus_next_entry" : "sonraki öğeyi görüntülemeden işaretle", "focus_next_entry" : "sonraki öğeyi görüntülemeden işaretle",
"focus_previous_entry" : "önceki öğeyi görüntülemeden işaretle", "focus_previous_entry" : "önceki öğeyi görüntülemeden işaretle",
"open_next_feed" : "sonraki aboneliği veya kategoriyi görüntüle", "open_next_feed" : "sonraki aboneliği veya kategoriyi görüntüle",
@@ -170,11 +170,11 @@
"mark_current_entry" : "görüntülenen öğeyi okundu/okunmadı işaretle", "mark_current_entry" : "görüntülenen öğeyi okundu/okunmadı işaretle",
"mark_all_as_read" : "tümünü okundu işaretle", "mark_all_as_read" : "tümünü okundu işaretle",
"open_in_new_tab_mark_as_read" : "öğeyi yeni bir sekmede aç ve okundu işaretle", "open_in_new_tab_mark_as_read" : "öğeyi yeni bir sekmede aç ve okundu işaretle",
"fullscreen" : "toggle full screen mode ", "fullscreen" : "tam ekran moduna geç ",
"font_size" : "increase/decrease font size of the current entry ", "font_size" : "mevcut içerik için yazı boyunutunu arttır/azalt",
"go_to_all" : "go to the All view ", "go_to_all" : "Tüm öğeleri görüntüle",
"go_to_starred" : "go to the Starred view ", "go_to_starred" : "yıldızlı öğerleri görüntüle",
"feed_search" : "abonelik ismini yazarak aboneliğe git" "feed_search" : "abonelik ismini yazarak aboneliğe git"
} }
} }
} }

View File

@@ -111,7 +111,7 @@
"email" : "邮箱", "email" : "邮箱",
"change_password" : "修改密码", "change_password" : "修改密码",
"confirm_password" : "确认密码", "confirm_password" : "确认密码",
"minimum_6_chars" : "最少为 6 个字母", "minimum_8_chars" : "最少为 8 个字母",
"passwords_do_not_match" : "密码不匹配", "passwords_do_not_match" : "密码不匹配",
"api_key" : "API 密钥", "api_key" : "API 密钥",
"api_key_not_generated" : "API 密钥尚未生成", "api_key_not_generated" : "API 密钥尚未生成",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -1,79 +1,86 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>CommaFeed</title> <title>CommaFeed</title>
<meta charset="utf-8"> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="apple-touch-icon" href="app-icon-57.png" /> <meta name="apple-mobile-web-app-status-bar-style" content="default" />
<link rel="apple-touch-icon" sizes="72x72" href="app-icon-72.png" /> <meta name="mobile-web-app-capable" content="yes" />
<link rel="apple-touch-icon" sizes="114x114" href="app-icon-114.png" /> <link rel="manifest" href="manifest.json" />
<link rel="apple-touch-icon" sizes="144x144" href="app-icon-144.png" /> <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<link rel="icon" sizes="32x32" href="app-icon-32.png" /> <link rel="apple-touch-icon" href="app-icon-57.png" />
<link rel="icon" sizes="64x64" href="app-icon-64.png" /> <link rel="apple-touch-icon" sizes="72x72" href="app-icon-72.png" />
<link rel="icon" sizes="128x128" href="app-icon-128.png" /> <link rel="apple-touch-icon" sizes="114x114" href="app-icon-114.png" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> <link rel="apple-touch-icon" sizes="144x144" href="app-icon-144.png" />
<meta name="application-name" content="CommaFeed" /> <link rel="icon" sizes="32x32" href="app-icon-32.png" />
<meta name="msapplication-navbutton-color" content="#F88A14" /> <link rel="icon" sizes="64x64" href="app-icon-64.png" />
<meta name="msapplication-starturl" content="/" /> <link rel="icon" sizes="128x128" href="app-icon-128.png" />
<meta name="msapplication-square70x70logo" content="metro-icon-70.png" /> <link rel="icon" sizes="192x192" href="app-icon-192.png" />
<meta name="msapplication-square150x150logo" content="metro-icon-150.png" /> <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<link rel="fluid-icon" href="app-icon-512.png" title="CommaFeed" /> <meta name="theme-color" content="#F88A14" />
<link rel="logo" type="image/svg" href="app-icon.svg" /> <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 --> <!-- build:css css/app.css -->
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.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/font-awesome/css/font-awesome.css" />
<link rel="stylesheet" href="lib/select2/select2.css" /> <link rel="stylesheet" href="lib/select2/select2.css" />
<link rel="stylesheet" href="lib/ng-grid/ng-grid.css" /> <link rel="stylesheet" href="lib/ng-grid/ng-grid.css" />
<link rel="stylesheet" href="lib/jquery-ui/themes/smoothness/jquery-ui.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="lib/angular-loading-bar/build/loading-bar.css" />
<link rel="stylesheet" href="css/app.css" /> <link rel="stylesheet" href="css/app.css" />
<!-- endbuild --> <!-- endbuild -->
<link rel="stylesheet" href="custom_css.css" /> <link rel="stylesheet" href="custom_css.css" />
</head> </head>
<body> <body>
<div ng-app="commafeed" id="main" class="main"> <div ng-app="commafeed" id="main" class="main">
<div ui-view></div> <div ui-view></div>
</div> </div>
<!-- build:js js/app.js --> <!-- build:js js/app.js -->
<script type="text/javascript" src="lib/lodash/dist/lodash.js"></script> <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/dist/jquery.js"></script>
<script type="text/javascript" src="lib/jquery-ui/jquery-ui.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/jquery-mousewheel/jquery.mousewheel.js"></script>
<script type="text/javascript" src="lib/bootstrap/dist/js/bootstrap.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/angular.js"></script>
<script type="text/javascript" src="lib/angular-route/angular-route.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-resource/angular-resource.js"></script>
<script type="text/javascript" src="lib/angular-sanitize/angular-sanitize.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-touch/angular-touch.js"></script>
<script type="text/javascript" src="lib/angular-animate/angular-animate.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-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-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/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/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/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/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-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-utils/ui-utils.js"></script>
<script type="text/javascript" src="lib/angular-ui-select2/src/select2.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/select2/select2.js"></script>
<script type="text/javascript" src="lib/mousetrap/mousetrap.js"></script> <script type="text/javascript" src="lib/mousetrap/mousetrap.js"></script>
<script type="text/javascript" src="lib/momentjs/min/moment-with-langs.js"></script> <script type="text/javascript" src="lib/momentjs/min/moment-with-locales.js"></script>
<script type="text/javascript" src="lib/device.js/lib/device.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/controllers.js"></script>
<script type="text/javascript" src="js/filters.js"></script> <script type="text/javascript" src="js/directives.js"></script>
<script type="text/javascript" src="js/main.js"></script> <script type="text/javascript" src="js/filters.js"></script>
<script type="text/javascript" src="js/services.js"></script> <script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/i18n.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="js/templates.js"></script>
<script type="text/javascript" src="analytics.js"></script> <!-- endbuild -->
</body> <script type="text/javascript" src="analytics.js"></script>
</body>
</html> </html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,361 +1,402 @@
var module = angular.module('commafeed.directives', []); var module = angular.module("commafeed.directives", [])
module.directive('focus', ['$timeout', function($timeout) { module.directive("focus", [
return { "$timeout",
restrict : 'A', function ($timeout) {
link : function(scope, element, attrs) { return {
scope.$watch(attrs.focus, function(value) { restrict: "A",
if (!value) link: function (scope, element, attrs) {
return; scope.$watch(attrs.focus, function (value) {
$timeout(function() { if (!value) return
$(element).focus(); $timeout(function () {
}); $(element).focus()
}); })
} })
}; },
}]); }
},
])
module.directive('confirmClick', [function() { module.directive("confirmClick", [
return { function () {
priority : -1, return {
restrict : 'A', priority: -1,
link : function(scope, element, attrs) { restrict: "A",
element.bind('click', function(e) { link: function (scope, element, attrs) {
var message = scope.$eval(attrs.confirmClick); element.bind("click", function (e) {
if (message && !confirm(message)) { var message = scope.$eval(attrs.confirmClick)
e.stopImmediatePropagation(); if (message && !confirm(message)) {
e.preventDefault(); e.stopImmediatePropagation()
} e.preventDefault()
}); }
} })
}; },
}]); }
},
])
/** /**
* Open a popup window pointing to the url in the href attribute * Open a popup window pointing to the url in the href attribute
*/ */
module.directive('popup', function() { module.directive("popup", function () {
var opts = 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=800'; var opts = "menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=800"
return { return {
link : function(scope, elm, attrs) { link: function (scope, elm, attrs) {
elm.bind('click', function(event) { elm.bind("click", function (event) {
window.open(this.href, '', opts); window.open(this.href, "", opts)
event.preventDefault(); event.preventDefault()
}); })
} },
}; }
}); })
/** /**
* entry tag handling * entry tag handling
*/ */
module.directive('tags', function() { module.directive("tags", function () {
return { return {
restrict : 'E', restrict: "E",
scope : { scope: {
entry : '=' entry: "=",
}, },
replace : true, replace: true,
templateUrl : 'templates/_tags.html', templateUrl: "templates/_tags.html",
controller : ['$scope', 'EntryService', function($scope, EntryService) { controller: [
$scope.select2Options = { "$scope",
'multiple' : true, "EntryService",
'simple_tags' : true, function ($scope, EntryService) {
'maximumInputLength' : 40, $scope.select2Options = {
tags : EntryService.tags multiple: true,
}; simple_tags: true,
maximumInputLength: 40,
tags: EntryService.tags,
}
$scope.$watch('entry.tags', function(newValue, oldValue) { $scope.$watch(
if (oldValue && newValue != oldValue) { "entry.tags",
var data = { function (newValue, oldValue) {
entryId : $scope.entry.id, if (oldValue && newValue != oldValue) {
tags : [] var data = {
}; entryId: $scope.entry.id,
if (newValue) { tags: [],
data.tags = newValue.split(','); }
} if (newValue) {
EntryService.tag(data); data.tags = newValue
} }
}, true); EntryService.tag(data)
}] }
}; },
}); true
)
},
],
}
})
/** /**
* Reusable favicon component * Reusable favicon component
*/ */
module.directive('favicon', function() { module.directive("favicon", function () {
var tpl = '<img ng-src="{{url}}" class="favicon"></img>'; var tpl = '<img ng-src="{{url}}" class="favicon"></img>'
return { return {
restrict : 'E', restrict: "E",
scope : { scope: {
url : '=' url: "=",
}, },
replace : true, replace: true,
template : tpl template: tpl,
}; }
}); })
/** /**
* Support for the blur event * Support for the blur event
*/ */
module.directive('ngBlur', function() { module.directive("ngBlur", function () {
return { return {
restrict : 'A', restrict: "A",
link : function(scope, elm, attrs) { link: function (scope, elm, attrs) {
elm.bind('blur', function() { elm.bind("blur", function () {
scope.$apply(attrs.ngBlur); scope.$apply(attrs.ngBlur)
}); })
} },
}; }
}); })
/** /**
* Prevent mousewheel scrolling from propagating to the parent when scrollbar * Prevent mousewheel scrolling from propagating to the parent when scrollbar
* reaches top or bottom * reaches top or bottom
*/ */
module.directive('mousewheelScrolling', function() { module.directive("mousewheelScrolling", function () {
return { return {
restrict : 'A', restrict: "A",
link : function(scope, elem, attr) { link: function (scope, elem, attr) {
elem.bind('mousewheel', function(e, d) { elem.bind("mousewheel", function (e, d) {
var t = $(this); var t = $(this)
if (d > 0 && t.scrollTop() === 0) { if (d > 0 && t.scrollTop() === 0) {
e.preventDefault(); e.preventDefault()
} else { } else {
if (d < 0 && (t.scrollTop() == t.get(0).scrollHeight - t.innerHeight())) { if (d < 0 && t.scrollTop() == t.get(0).scrollHeight - t.innerHeight()) {
e.preventDefault(); e.preventDefault()
} }
} }
}); })
} },
}; }
}); })
/** /**
* Needed to use recursive directives. Wrap a recursive element with a * Needed to use recursive directives. Wrap a recursive element with a
* <recursive> tag * <recursive> tag
*/ */
module.directive('recursive', ['$compile', function($compile) { module.directive("recursive", [
return { "$compile",
restrict : 'E', function ($compile) {
priority : 100000, return {
compile : function(tElement, tAttr) { restrict: "E",
var contents = tElement.contents().remove(); priority: 100000,
var compiledContents = null; compile: function (tElement, tAttr) {
return function(scope, iElement, iAttr) { var contents = tElement.contents().remove()
if (!compiledContents) { var compiledContents = null
compiledContents = $compile(contents); return function (scope, iElement, iAttr) {
} if (!compiledContents) {
iElement.append(compiledContents(scope, function(clone) { compiledContents = $compile(contents)
return clone; }
})); iElement.append(
}; compiledContents(scope, function (clone) {
} return clone
}; })
}]); )
}
},
}
},
])
/** /**
* Reusable category component * Reusable category component
*/ */
module.directive('category', [function() { module.directive("category", [
return { function () {
scope : { return {
node : '=', scope: {
level : '=', node: "=",
selectedType : '=', level: "=",
selectedId : '=', selectedType: "=",
showLabel : '=', selectedId: "=",
showChildren : '=', showLabel: "=",
unreadCount : '&', showChildren: "=",
tag : '=' unreadCount: "&",
}, tag: "=",
restrict : 'E', },
replace : true, restrict: "E",
templateUrl : 'templates/_category.html', replace: true,
controller : ['$scope', '$state', 'FeedService', 'CategoryService', 'SettingsService', 'MobileService', templateUrl: "templates/_category.html",
function($scope, $state, FeedService, CategoryService, SettingsService, MobileService) { controller: [
$scope.settingsService = SettingsService; "$scope",
"$state",
"FeedService",
"CategoryService",
"SettingsService",
"MobileService",
function ($scope, $state, FeedService, CategoryService, SettingsService, MobileService) {
$scope.settingsService = SettingsService
$scope.getClass = function(level) { $scope.getClass = function (level) {
if ($scope.showLabel) { if ($scope.showLabel) {
return 'indent' + level; return "indent" + level
} }
}; }
$scope.categoryLabel = function(category) { $scope.categoryLabel = function (category) {
return $scope.showLabel !== true ? $scope.showLabel : category.name; return $scope.showLabel !== true ? $scope.showLabel : category.name
}; }
$scope.categoryCountLabel = function(category) { $scope.categoryCountLabel = function (category) {
var count = $scope.unreadCount({ var count = $scope.unreadCount({
category : category category: category,
}); })
var label = ''; var label = ""
if (count > 0) { if (count > 0) {
label = '(' + count + ')'; label += count
} }
return label; return label
}; }
$scope.feedCountLabel = function(feed) { $scope.feedCountLabel = function (feed) {
var label = ''; var label = ""
if (feed.unread > 0) { if (feed.unread > 0) {
label = '(' + feed.unread + ')'; label += feed.unread
} }
return label; return label
}; }
$scope.feedClicked = function(id, event) { $scope.feedClicked = function (id, event) {
// Could be called by a middle click // Could be called by a middle click
if (!event || (!event.ctrlKey && event.which == 1)) { if (!event || (!event.ctrlKey && event.which == 1)) {
MobileService.toggleLeftMenu(); MobileService.toggleLeftMenu()
if ($scope.selectedType == 'feed' && id == $scope.selectedId) { if ($scope.selectedType == "feed" && id == $scope.selectedId) {
$scope.$emit('emitReload'); $scope.$emit("emitReload")
} else { } else {
$state.transitionTo('feeds.view', { $state.transitionTo("feeds.view", {
_type : 'feed', _type: "feed",
_id : id _id: id,
}); })
} }
if (event) { if (event) {
event.preventDefault(); event.preventDefault()
event.stopPropagation(); event.stopPropagation()
} }
} }
}; }
$scope.categoryClicked = function(id, isTag) { $scope.categoryClicked = function (id, isTag) {
MobileService.toggleLeftMenu(); MobileService.toggleLeftMenu()
var type = isTag ? 'tag' : 'category'; var type = isTag ? "tag" : "category"
if ($scope.selectedType == type && id == $scope.selectedId) { if ($scope.selectedType == type && id == $scope.selectedId) {
$scope.$emit('emitReload'); $scope.$emit("emitReload")
} else { } else {
$state.transitionTo('feeds.view', { $state.transitionTo("feeds.view", {
_type : type, _type: type,
_id : id _id: id,
}); })
} }
}; }
$scope.showFeedDetails = function(feed) { $scope.showFeedDetails = function (feed) {
$state.transitionTo('feeds.feed_details', { $state.transitionTo("feeds.feed_details", {
_id : feed.id _id: feed.id,
}); })
}; }
$scope.showCategoryDetails = function(id, isTag) { $scope.showCategoryDetails = function (id, isTag) {
if (isTag) { if (isTag) {
$state.transitionTo('feeds.tag_details', { $state.transitionTo("feeds.tag_details", {
_id : id _id: id,
}); })
} else { } else {
$state.transitionTo('feeds.category_details', { $state.transitionTo("feeds.category_details", {
_id : id _id: id,
}); })
} }
}; }
$scope.toggleCategory = function(category, event) { $scope.toggleCategory = function (category, event) {
event.preventDefault(); event.preventDefault()
event.stopPropagation(); event.stopPropagation()
category.expanded = !category.expanded; category.expanded = !category.expanded
if (category.id == 'all') { if (category.id == "all") {
return; return
} }
CategoryService.collapse({ CategoryService.collapse({
id : category.id, id: category.id,
collapse : !category.expanded collapse: !category.expanded,
}); })
}; }
}] },
}; ],
}]); }
},
])
module.directive('draggable', function() { module.directive("draggable", function () {
return { return {
restrict : 'A', restrict: "A",
link : function(scope, element, attrs) { link: function (scope, element, attrs) {
element.draggable({ element
revert : 'invalid', .draggable({
helper : 'clone', revert: "invalid",
distance : 10, helper: "clone",
axis : 'y' distance: 10,
}).data('source', scope.$eval(attrs.draggable)); axis: "y",
} })
}; .data("source", scope.$eval(attrs.draggable))
}); },
}
})
module.directive('droppable', ['CategoryService', 'FeedService', function(CategoryService, FeedService) { module.directive("droppable", [
return { "CategoryService",
restrict : 'A', "FeedService",
link : function(scope, element, attrs) { function (CategoryService, FeedService) {
element.droppable({ return {
tolerance : 'pointer', restrict: "A",
over : function(event, ui) { link: function (scope, element, attrs) {
element.droppable({
tolerance: "pointer",
over: function (event, ui) {},
drop: function (event, ui) {
var draggable = angular.element(ui.draggable)
}, var source = draggable.data("source")
drop : function(event, ui) { var target = scope.$eval(attrs.droppable)
var draggable = angular.element(ui.draggable);
var source = draggable.data('source'); if (angular.equals(source, target)) {
var target = scope.$eval(attrs.droppable); return
}
if (angular.equals(source, target)) { var data = {
return; id: source.id,
} name: source.name,
filter: source.filter,
}
var data = { if (source.children) {
id : source.id, // source is a category
name : source.name } else {
}; // source is a feed
if (source.children) { if (target.children) {
// source is a category // 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 { FeedService.modify(data, function () {
// source is a feed CategoryService.init()
})
}
scope.$apply()
},
})
},
}
},
])
if (target.children) { module.directive("metricMeter", function () {
// target is a category return {
data.categoryId = target.id; scope: {
data.position = 0; metric: "=",
} else { label: "=",
// target is a feed },
data.categoryId = target.categoryId; restrict: "E",
data.position = target.position; templateUrl: "templates/_metrics.meter.html",
} }
})
FeedService.modify(data, function() { module.directive("metricGauge", function () {
CategoryService.init(); return {
}); scope: {
} metric: "=",
scope.$apply(); label: "=",
} },
}); restrict: "E",
} templateUrl: "templates/_metrics.gauge.html",
}; }
}]); })
module.directive('metricMeter', function() { module.directive("metricTimer", function () {
return { return {
scope : { scope: {
metric : '=', metric: "=",
label : '=' label: "=",
}, },
restrict : 'E', restrict: "E",
templateUrl : 'templates/_metrics.meter.html' templateUrl: "templates/_metrics.timer.html",
}; }
}); })
module.directive('metricGauge', function() {
return {
scope : {
metric : '=',
label : '='
},
restrict : 'E',
templateUrl : 'templates/_metrics.gauge.html'
};
});

View File

@@ -1,113 +1,119 @@
var module = angular.module('commafeed.filters', []); var module = angular.module("commafeed.filters", [])
/** /**
* smart date formatter * smart date formatter
*/ */
module.filter('entryDate', function() { module.filter("entryDate", function () {
return function(timestamp, defaultValue) { return function (timestamp, defaultValue) {
if (!timestamp) { if (!timestamp) {
return defaultValue; return defaultValue
} }
var d = moment(timestamp); var d = moment(timestamp)
var now = moment(); var now = moment()
var formatted; var formatted
if (Math.abs(d.diff(now)) < 86400000) { if (Math.abs(d.diff(now)) < 86400000) {
formatted = d.fromNow(); formatted = d.fromNow()
} else { } else {
formatted = d.format('YYYY-MM-DD HH:mm'); formatted = d.format("YYYY-MM-DD HH:mm")
} }
return formatted; return formatted
}; }
}); })
/** /**
* rewrites iframes to use https if commafeed uses https * rewrites iframes to use https if commafeed uses https
*/ */
module.filter('iframeHttpsRewrite', function() { module.filter("iframeHttpsRewrite", function () {
return function(html) { return function (html) {
var result = html; var result = html
if (location.protocol === 'https:') { if (location.protocol === "https:") {
var wrapper = $('<div></div>').html(html); var wrapper = $("<div></div>").html(html)
$('iframe', wrapper).each(function(i, elem) { $("iframe", wrapper).each(function (i, elem) {
var e = $(elem); var e = $(elem)
e.attr('src', e.attr('src').replace(/^http:\/\//i, 'https://')); e.attr("src", e.attr("src").replace(/^http:\/\//i, "https://"))
}); })
result = wrapper.html(); result = wrapper.html()
} }
return result; return result
}; }
}); })
/** /**
* inserts title or alt-text after images, if any * inserts title or alt-text after images, if any
*/ */
module.filter('appendImageTitles', function() { module.filter("appendImageTitles", function () {
return function(html) { return function (html) {
var result = html; var result = html
var wrapper = $('<div></div>').html(html); var wrapper = $("<div></div>").html(html)
$('img', wrapper).each(function(i, elem) { $("img", wrapper).each(function (i, elem) {
var e = $(elem); var e = $(elem)
var title = e.attr('title') || e.attr('alt'); var title = e.attr("title") || e.attr("alt")
if (title) { if (title) {
var text = $('<span style="font-style: italic;"></span>').text(title); var text = $('<span style="font-style: italic;"></span>').text(title)
e.after(text); e.after(text)
} }
}); })
result = wrapper.html(); result = wrapper.html()
return result; return result
}; }
}); })
/** /**
* escapes the url * escapes the url
*/ */
module.filter('escape', function() { module.filter("escape", function () {
return encodeURIComponent; return encodeURIComponent
}); })
/** /**
* returns a trusted html content * returns a trusted html content
*/ */
module.filter('trustHtml', ['$sce', function($sce) { module.filter("trustHtml", [
return function(val) { "$sce",
return $sce.trustAsHtml(val); function ($sce) {
}; return function (val) {
}]); return $sce.trustAsHtml(val)
}
},
])
/** /**
* returns a trusted url * returns a trusted url
*/ */
module.filter('trustUrl', ['$sce', function($sce) { module.filter("trustUrl", [
return function(val) { "$sce",
return $sce.trustAsResourceUrl(val); function ($sce) {
}; return function (val) {
}]); return $sce.trustAsResourceUrl(val)
}
},
])
/** /**
* add the 'highlight-search' class to text matching keywords * add the 'highlight-search' class to text matching keywords
*/ */
module.filter('highlight', function() { module.filter("highlight", function () {
return function(html, keywords) { return function (html, keywords) {
if (keywords) { if (keywords) {
var handleKeyword = function(token, html) { var handleKeyword = function (token, html) {
var expr = new RegExp(token, 'gi'); var expr = new RegExp(token, "gi")
var container = $('<span>').html(html); var container = $("<span>").html(html)
var elements = container.find('*').addBack(); var elements = container.find("*").addBack()
var textNodes = elements.not('iframe').contents().not(elements); var textNodes = elements.not("iframe").contents().not(elements)
textNodes.each(function() { textNodes.each(function () {
var replaced = this.nodeValue.replace(expr, '<span class="highlight-search">$&</span>'); var replaced = this.nodeValue.replace(expr, '<span class="highlight-search">$&</span>')
$('<span>').html(replaced).insertBefore(this); $("<span>").html(replaced).insertBefore(this)
$(this).remove(); $(this).remove()
}); })
return container.html(); return container.html()
}; }
var tokens = keywords.split(' '); var tokens = keywords.split(" ")
for (var i = 0; i < tokens.length; i++) { for (var i = 0; i < tokens.length; i++) {
html = handleKeyword(tokens[i], html); html = handleKeyword(tokens[i], html)
} }
} }
return html; return html
}; }
}); })

View File

@@ -1,34 +1,37 @@
var module = angular.module('commafeed.i18n', []); var module = angular.module("commafeed.i18n", [])
module.service('LangService', [function() { module.service("LangService", [
this.langs = { function () {
'ar': 'العربية', this.langs = {
'ca': 'Català', ar: "العربية",
'en': 'English', ca: "Català",
'es': 'Español', en: "English",
'de': 'Deutsch', es: "Español",
'fa': 'فارسی', de: "Deutsch",
'fr': 'Français', fa: "فارسی",
'gl': 'Galician', fr: "Français",
'glk': 'گیلکی', gl: "Galician",
'hu': 'Magyar', glk: "گیلکی",
'ja': '日本語', hu: "Magyar",
'ko': '한국어', id: "Indonesian",
'nl': 'Nederlands', ja: "日本語",
'nb': 'Norsk (bokmål)', ko: "한국어",
'nn': 'Norsk (nynorsk)', nl: "Nederlands",
'pt': 'Português', nb: "Norsk (bokmål)",
'pl': 'Polski', nn: "Norsk (nynorsk)",
'ru': 'русский', pt: "Português",
'fi': 'Suomi', pl: "Polski",
'sv': 'Svenska', ru: "Русский",
'zh': '简体中文', fi: "Suomi",
'it': 'Italiano', sv: "Svenska",
'tr': 'Türkçe', zh: "简体中文",
'cy': 'Cymraeg', it: "Italiano",
'sk': 'Slovenčina', tr: "Türkçe",
'da': 'Danish', cy: "Cymraeg",
'cs': 'Čeština', sk: "Slovenčina",
'ms': 'Bahasa Malaysian' da: "Danish",
} cs: "Čeština",
}]); ms: "Bahasa Malaysian",
}
},
])

View File

@@ -1,149 +1,172 @@
var app = angular.module('commafeed', ['ngRoute', 'ngTouch', 'ngAnimate', 'ui.utils', 'ui.bootstrap', 'ui.router', 'ui.select2', var app = angular.module("commafeed", [
'commafeed.directives', 'commafeed.controllers', 'commafeed.services', 'commafeed.filters', 'commafeed.i18n', 'ngSanitize', "ngRoute",
'infinite-scroll', 'ngGrid', 'chieffancypants.loadingBar', 'pascalprecht.translate']); "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([ app.config([
'$routeProvider', "$routeProvider",
'$stateProvider', "$stateProvider",
'$urlRouterProvider', "$urlRouterProvider",
'$httpProvider', "$httpProvider",
'$compileProvider', "$compileProvider",
'cfpLoadingBarProvider', "cfpLoadingBarProvider",
'$translateProvider', "$translateProvider",
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider, cfpLoadingBarProvider, function (
$translateProvider) { $routeProvider,
$stateProvider,
$urlRouterProvider,
$httpProvider,
$compileProvider,
cfpLoadingBarProvider,
$translateProvider
) {
$translateProvider.useStaticFilesLoader({
prefix: "i18n/",
suffix: ".js",
})
$translateProvider.preferredLanguage("en")
// $translateProvider.useLocalStorage(); cfpLoadingBarProvider.includeSpinner = false
$translateProvider.useStaticFilesLoader({
prefix : '/i18n/',
suffix : '.js'
});
$translateProvider.preferredLanguage('en');
cfpLoadingBarProvider.includeSpinner = false; $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/)
var interceptor = [
"$rootScope",
"$q",
"$injector",
function (scope, $q, $injector) {
var f = {}
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/); f.response = function (response) {
var interceptor = ['$rootScope', '$q', '$injector', function(scope, $q, $injector) { return response
}
var success = function(response) { f.responseError = function (response) {
return response; var status = response.status
}; if (status == 401) {
var error = function(response) { $injector.get("$state").transitionTo("welcome")
var status = response.status; }
if (status == 401) { return $q.reject(response)
$injector.get('$state').transitionTo('welcome'); }
} return f
return $q.reject(response); },
}; ]
var promise = function(promise) { $httpProvider.interceptors.push(interceptor)
return promise.then(success, error);
};
return promise; $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",
})
$httpProvider.responseInterceptors.push(interceptor); $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('feeds', { $stateProvider.state("welcome", {
'abstract' : true, url: "/welcome",
url : '/feeds', templateUrl: "templates/welcome.html",
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'
});
$stateProvider.state('admin', { $urlRouterProvider.when("/", "/feeds/view/category/all")
'abstract' : true, $urlRouterProvider.when("/admin", "/admin/settings")
url : '/admin', $urlRouterProvider.otherwise("/")
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('/');
}]);

View File

@@ -1,332 +1,375 @@
var module = angular.module('commafeed.services', ['ngResource']); var module = angular.module("commafeed.services", ["ngResource"])
module.service('AnalyticsService', ['$state', function($state) { module.service("AnalyticsService", [
this.track = function(path) { "$state",
if (typeof ga === 'undefined') { function ($state) {
return; this.track = function (path) {
} if (typeof ga === "undefined") {
path = path || $state.$current.url.prefix; return
ga('send', 'pageview', { }
page : path path = path || $state.$current.url.prefix
}); ga("send", "pageview", {
}; page: path,
}]); })
}
},
])
module.service('MobileService', ['$state', function($state) { module.service("MobileService", [
this.leftMenu = false; "$state",
this.rightMenu = false; function ($state) {
this.toggleLeftMenu = function() { this.leftMenu = false
this.leftMenu = !this.leftMenu; this.rightMenu = false
$('body').toggleClass('left-menu-active'); this.toggleLeftMenu = function () {
}; this.leftMenu = !this.leftMenu
this.toggleRightMenu = function() { $("body").toggleClass("left-menu-active")
this.rightMenu = !this.rightMenu; }
$('body').toggleClass('right-menu-active'); this.toggleRightMenu = function () {
}; this.rightMenu = !this.rightMenu
this.mobile = device.mobile() || device.tablet(); $("body").toggleClass("right-menu-active")
}]); }
this.mobile = device.mobile() || device.tablet()
},
])
module.factory('ProfileService', ['$resource', function($resource) { module.factory("ProfileService", [
var res = $resource('rest/user/profile/'); "$resource",
res.deleteAccount = $resource('rest/user/profile/deleteAccount').save; function ($resource) {
return res; var res = $resource("rest/user/profile/")
}]); res.deleteAccount = $resource("rest/user/profile/deleteAccount").save
return res
},
])
module.factory('SessionService', ['$resource', function($resource) { module.factory("SessionService", [
var res = {}; "$resource",
res.login = $resource('rest/user/login').save; function ($resource) {
res.register = $resource('rest/user/register').save; var res = {}
res.passwordReset = $resource('rest/user/passwordReset').save; res.login = $resource("rest/user/login").save
return res; res.register = $resource("rest/user/register").save
}]); res.passwordReset = $resource("rest/user/passwordReset").save
return res
},
])
module.factory('SettingsService', ['$resource', '$translate', function($resource, $translate) { module.factory("SettingsService", [
var res = $resource('rest/user/settings'); "$resource",
"$translate",
function ($resource, $translate) {
var res = $resource("rest/user/settings")
var s = {}; var s = {}
s.settings = {}; s.settings = {}
s.save = function(callback) { s.save = function (callback) {
res.save(s.settings, function(data) { res.save(s.settings, function (data) {
if (callback) { if (callback) {
callback(data); callback(data)
} }
}); })
}; }
s.init = function(callback) { s.init = function (callback) {
res.get(function(data) { res.get(function (data) {
s.settings = data; s.settings = data
var lang = s.settings.language || 'en'; var lang = s.settings.language || "en"
if (lang === 'zh') { $translate.use(lang)
lang = 'zh-cn'; if (lang === "zh") {
} else if (lang === 'ms') { lang = "zh-cn"
lang = 'ms-my'; } else if (lang === "ms") {
} lang = "ms-my"
moment.lang(lang, {}); }
$translate.use(lang); moment.locale(lang, {})
if (callback) { if (callback) {
callback(data); callback(data)
} }
}); })
}; }
s.init(); s.init()
return s; return s
}]); },
])
module.factory('FeedService', ['$resource', '$http', function($resource, $http) { module.factory("FeedService", [
var actions = { "$resource",
entries : { "$http",
method : 'GET', function ($resource, $http) {
params : { var actions = {
_method : 'entries' entries: {
} method: "GET",
}, params: {
fetch : { _method: "entries",
method : 'POST', },
params : { },
_method : 'fetch' fetch: {
} method: "POST",
}, params: {
mark : { _method: "fetch",
method : 'POST', },
params : { },
_method : 'mark' mark: {
} method: "POST",
}, params: {
refresh : { _method: "mark",
method : 'POST', },
params : { },
_method : 'refresh' refresh: {
} method: "POST",
}, params: {
refreshAll : { _method: "refresh",
method : 'GET', },
params : { },
_method : 'refreshAll' refreshAll: {
} method: "GET",
}, params: {
subscribe : { _method: "refreshAll",
method : 'POST', },
params : { },
_method : 'subscribe' subscribe: {
} method: "POST",
}, params: {
unsubscribe : { _method: "subscribe",
method : 'POST', },
params : { },
_method : 'unsubscribe' unsubscribe: {
} method: "POST",
}, params: {
modify : { _method: "unsubscribe",
method : 'POST', },
params : { },
_method : 'modify' modify: {
} method: "POST",
} params: {
}; _method: "modify",
var res = $resource('rest/feed/:_method', {}, actions); },
res.get = $resource('rest/feed/get/:id').get; },
return res; }
}]); 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) { // flatten categories
callback(category, parentName); var flatten = function (category) {
var children = category.children; var array = []
if (children) { var callback = function (category, parentName) {
for (var c = 0; c < children.length; c++) { var name = category.name
traverse(callback, children[c], category.name); if (parentName) {
} name += " (in " + parentName + ")"
} }
}; array.push({
id: category.id,
name: name,
orig: category,
})
}
traverse(callback, category)
return array
}
// flatten categories // flatten feeds
var flatten = function(category) { var flatFeeds = function (category) {
var array = []; var subs = []
var callback = function(category, parentName) { var callback = function (category) {
var name = category.name; subs.push.apply(subs, category.feeds)
if (parentName) { }
name += (' (in ' + parentName + ')'); traverse(callback, category)
} return subs
array.push({ }
id : category.id,
name : name,
orig : category
});
};
traverse(callback, category);
return array;
};
// flatten feeds // flatten everything
var flatFeeds = function(category) { var flatAll = function (category, a) {
var subs = []; a.push([category.id, "category"])
var callback = function(category) { _.each(category.children, function (child) {
subs.push.apply(subs, category.feeds); flatAll(child, a)
}; })
traverse(callback, category); _.each(category.feeds, function (feed) {
return subs; a.push([feed.id, "feed"])
}; })
}
// flatten everything var actions = {
var flatAll = function(category, a) { get: {
a.push([category.id, 'category']); method: "GET",
_.each(category.children, function(child) { ignoreLoadingBar: true,
flatAll(child, a); params: {
}); _method: "get",
_.each(category.feeds, function(feed) { },
a.push([feed.id, 'feed']); },
}); 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 = { res.init = function (callback) {
get : { res.get(function (data) {
method : 'GET', res.subscriptions = data
ignoreLoadingBar: true, res.flatCategories = flatten(data)
params : { res.feeds = flatFeeds(data)
_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.flatAll = []
res.get(function(data) { flatAll(data, res.flatAll)
res.subscriptions = data; res.flatAll.splice(1, 0, ["starred", "category"])
res.flatCategories = flatten(data);
res.feeds = flatFeeds(data);
res.flatAll = []; if (callback) callback(data)
flatAll(data, res.flatAll); })
res.flatAll.splice(1, 0, ['starred', 'category']); }
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) res.init()
callback(data); return res
}); },
}; ])
res.refresh = function(callback) {
res.get(function(data) {
_.merge(res.subscriptions, data);
if (callback)
callback(data);
});
};
res.init(); module.factory("EntryService", [
return res; "$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) { module.factory("AdminUsersService", [
var actions = { "$resource",
search : { function ($resource) {
method : 'GET', var res = {}
params : { res.get = $resource("rest/admin/user/get/:id").get
_method : 'search' res.getAll = $resource("rest/admin/user/getAll").query
} res.save = $resource("rest/admin/user/save").save
}, res.remove = $resource("rest/admin/user/delete").save
mark : { return res
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);
});
};
var oldTag = res.tag;
res.tag = function(data) {
oldTag(data, function() {
initTags();
});
};
initTags();
return res;
}]);
module.factory('AdminUsersService', ['$resource', function($resource) { module.factory("AdminSettingsService", [
var res = {}; "$resource",
res.get = $resource('rest/admin/user/get/:id').get; function ($resource) {
res.getAll = $resource('rest/admin/user/getAll').query; var res = $resource("rest/admin/settings/")
res.save = $resource('rest/admin/user/save').save; return res
res.remove = $resource('rest/admin/user/delete').save; },
return res; ])
}]);
module.factory('AdminSettingsService', ['$resource', function($resource) { module.factory("AdminMetricsService", [
var res = $resource('rest/admin/settings/'); "$resource",
return res; function ($resource) {
}]); var res = $resource("rest/admin/metrics/")
return res
},
])
module.factory('AdminMetricsService', ['$resource', function($resource) { module.factory("ServerService", [
var res = $resource('rest/admin/metrics/'); "$resource",
return res; function ($resource) {
}]); var res = $resource("rest/server/get")
return res
module.factory('ServerService', ['$resource', function($resource) { },
var res = $resource('rest/server/get'); ])
return res;
}]);

View File

@@ -1,7 +1,7 @@
$(function() { $(function () {
var reg = $('#register-panel'); var reg = $("#register-panel")
if (!reg) { if (!reg) {
return; return
} }
$('#login-panel').height(reg.height()); $("#login-panel").height(reg.height())
}); })

View File

@@ -0,0 +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"
}
],
"scope": ".",
"start_url": "./",
"display": "standalone"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -8,7 +8,6 @@
@import "components/help"; @import "components/help";
@import "components/loading-bar"; @import "components/loading-bar";
@import "components/readabilicons";
@import "components/zocial"; @import "components/zocial";
@import "mobile/mobile"; @import "mobile/mobile";
@@ -17,6 +16,7 @@
@import "themes/bootstrap"; @import "themes/bootstrap";
@import "themes/ebraminio"; @import "themes/ebraminio";
@import "themes/MRACHINI"; @import "themes/MRACHINI";
@import "themes/nightsky";
@import "themes/svetla"; @import "themes/svetla";
@import "themes/dark"; @import "themes/dark";
@import "themes/third"; @import "themes/third";

View File

@@ -1,4 +1,4 @@
/* admin */ /* admin */
.admin .users-table { .admin .users-table {
height: 400px; height: 400px;
} }

View File

@@ -1,271 +1,279 @@
.main-content { .main-content {
margin-left: 250px; margin-left: 250px;
padding-left: 15px; padding-left: 15px;
} }
.full-screen .main-content { .full-screen .main-content {
width: 100%; width: 100%;
margin-left: 0; margin-left: 0;
} }
.entryList { .entryList {
padding-top: 50px; padding-top: 50px;
} }
/* entry list*/ /* entry list*/
.entrylist-header { .entrylist-header {
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
} }
.entrylist-header h3 { .entrylist-header h3 {
margin: 0; margin: 0;
line-height: 40px; line-height: 40px;
} }
.entrylist-header a { .entrylist-header a {
color: inherit; color: inherit;
} }
.expanded .entry-header,.expanded .entry-body-content { .expanded .entry-header,
padding-left: 25px; .expanded .entry-body-content {
padding-right: 25px; padding-left: 25px;
padding-right: 25px;
} }
.expanded .entry-header { .expanded .entry-header {
max-width: 650px; max-width: 650px;
} }
.full-screen .expanded .entry-header { .full-screen .expanded .entry-header {
max-width: 100%; max-width: 100%;
} }
.rtl .entry-header,.rtl .entry-body-content,.rtl.entry-name { .rtl .entry-header,
direction: rtl; .rtl .entry-body-content,
.rtl.entry-name {
direction: rtl;
} }
.rtl ul,.rtl ol { .rtl ul,
padding: 0; .rtl ol {
margin: 0 25px 10px 0px; padding: 0;
margin: 0 25px 10px 0px;
} }
#feed-accordion .entry { #feed-accordion .entry {
border-bottom: 1px solid #CCCCCC; border-bottom: 1px solid #cccccc;
} }
#feed-accordion .no-entries { #feed-accordion .no-entries {
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
margin-top: 80px; margin-top: 80px;
} }
#feed-accordion .entry-heading { #feed-accordion .entry-heading {
background-color: #ebebeb; background-color: #ebebeb;
} }
#feed-accordion .unread .entry-heading:hover { #feed-accordion .unread .entry-heading:hover {
background-color: #ebebeb; background-color: #ebebeb;
} }
#feed-accordion .unread .entry-heading { #feed-accordion .unread .entry-heading {
background-color: #fff; background-color: #fff;
} }
#feed-accordion .current.closed .entry-heading { #feed-accordion .current.closed .entry-heading {
background-color: #ffc; background-color: #ffc;
} }
#feed-accordion .entry-heading-link { #feed-accordion .entry-heading-link {
color: black; color: black;
height: 32px; height: 32px;
display: block; display: block;
cursor: pointer; cursor: pointer;
padding: 6px 0px; padding: 6px 0px;
} }
#feed-accordion .entry-heading .feed-name { #feed-accordion .entry-heading .feed-name {
color: #555; color: #555;
display: block; display: block;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
position: absolute; position: absolute;
width: 145px; width: 145px;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
#feed-accordion .entry-heading .entry-name { #feed-accordion .entry-heading .entry-name {
display: block; display: block;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
margin-right: 150px; margin-right: 150px;
} }
#feed-accordion .unread .entry-heading .entry-name { #feed-accordion .unread .entry-heading .entry-name {
font-weight: bold; font-weight: bold;
} }
#feed-accordion .entry-heading .shrink { #feed-accordion .entry-heading .shrink {
margin-left: 150px; margin-left: 150px;
} }
#feed-accordion .entry-heading .entry-date { #feed-accordion .entry-heading .entry-date {
display: block; display: block;
position: absolute; position: absolute;
right: 45px; right: 45px;
} }
#feed-accordion a.entry-heading-link:hover { #feed-accordion a.entry-heading-link:hover {
text-decoration: none; text-decoration: none;
} }
#feed-accordion .entry-external-link { #feed-accordion .entry-external-link {
position: absolute; position: absolute;
right: 25px; right: 25px;
margin-top: -25px; margin-top: -25px;
color: black; color: black;
} }
#feed-accordion .entry-external-link:hover { #feed-accordion .entry-external-link:hover {
text-decoration: none; text-decoration: none;
} }
#feed-accordion .entry-body .entry-title { #feed-accordion .entry-body .entry-title {
margin-top: 5px; margin-top: 5px;
margin-bottom: 10px; margin-bottom: 10px;
font-size: 130%; font-size: 130%;
font-weight: bold; font-weight: bold;
} }
#feed-accordion .entry-body .entry-subtitle { #feed-accordion .entry-body .entry-subtitle {
display: block; display: block;
font-size: 14px; font-size: 14px;
font-weight: normal; font-weight: normal;
} }
#feed-accordion .entry-body-content { #feed-accordion .entry-body-content {
max-width: 650px; max-width: 650px;
color: black; color: black;
padding-bottom: 10px; padding-bottom: 10px;
} }
.full-screen #feed-accordion .entry-body-content { .full-screen #feed-accordion .entry-body-content {
max-width: 100%; max-width: 100%;
} }
#feed-accordion .entry-enclosure { #feed-accordion .entry-enclosure {
clear: both; clear: both;
padding-top: 10px; padding-top: 10px;
}
#feed-accordion .entry-media-description {
padding-top: 10px;
} }
#feed-accordion .entry-buttons { #feed-accordion .entry-buttons {
clear: both; clear: both;
background-color: #fafafa; background-color: #fafafa;
padding: 3px 0px; padding: 3px 0px;
border-top: 1px solid #ebebeb; border-top: 1px solid #ebebeb;
} }
#feed-accordion .entry-buttons .checkbox.inline { #feed-accordion .entry-buttons .checkbox.inline {
padding-top: 0px; padding-top: 0px;
margin-left: 5px; margin-left: 5px;
} }
#feed-accordion .entry-buttons .keep-unread label { #feed-accordion .entry-buttons .keep-unread label {
display: inline; display: inline;
font-weight: inherit; font-weight: inherit;
} }
#feed-accordion .share-buttons a { #feed-accordion .share-buttons a {
color: #333333; color: #333333;
padding-left: 5px; padding-left: 5px;
} }
#feed-accordion .share-buttons a:hover { #feed-accordion .share-buttons a:hover {
text-decoration: none; text-decoration: none;
} }
#feed-accordion .tags-panel { #feed-accordion .tags-panel {
margin-left: 30px; margin-left: 30px;
} }
#feed-accordion .tags-panel .label{ #feed-accordion .tags-panel .label {
margin-left: 5px; margin-left: 5px;
} }
.select2-container-multi .select2-choices .select2-search-field input { .select2-container-multi .select2-choices .select2-search-field input {
padding: 2px padding: 2px;
} }
#feed-accordion .tag-input { #feed-accordion .tag-input {
margin: 0 0 0 5px; margin: 0 0 0 5px;
padding: 0; padding: 0;
width: 200px; width: 200px;
} }
#feed-accordion .entry-buttons label { #feed-accordion .entry-buttons label {
margin-bottom: 0px; margin-bottom: 0px;
font-size: 12px; font-size: 12px;
} }
#feed-accordion a.mark-up-to { #feed-accordion a.mark-up-to {
color: #333333; color: #333333;
position: absolute; position: absolute;
right: 30px; right: 30px;
} }
#feed-accordion a.mark-up-to:hover { #feed-accordion a.mark-up-to:hover {
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
} }
#feed-accordion .star { #feed-accordion .star {
text-decoration: none; text-decoration: none;
padding: 0px 5px; padding: 0px 5px;
} }
#feed-accordion .icon-star-yellow { #feed-accordion .icon-star-yellow {
color: gold; color: gold;
text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
} }
#feed-accordion .icon-star-empty { #feed-accordion .icon-star-empty {
color: #555; color: #555;
} }
#feed-accordion.expanded .entry { #feed-accordion.expanded .entry {
margin-bottom: 40px; margin-bottom: 40px;
border: 1px solid #ddd; border: 1px solid #ddd;
box-shadow: 0 0 4px #e3e5eb; box-shadow: 0 0 4px #e3e5eb;
} }
#feed-accordion.expanded .current { #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 { #feed-accordion .current.entry-font-size-0 {
font-size: 14px; font-size: 14px;
} }
#feed-accordion .current.entry-font-size-1 { #feed-accordion .current.entry-font-size-1 {
font-size: 15px; font-size: 15px;
} }
#feed-accordion .current.entry-font-size-2 { #feed-accordion .current.entry-font-size-2 {
font-size: 16px; font-size: 16px;
} }
#feed-accordion .current.entry-font-size-3 { #feed-accordion .current.entry-font-size-3 {
font-size: 17px; font-size: 17px;
} }
#feed-accordion .current.entry-font-size-4 { #feed-accordion .current.entry-font-size-4 {
font-size: 18px; font-size: 18px;
} }
#feed-accordion .current.entry-font-size-5 { #feed-accordion .current.entry-font-size-5 {
font-size: 19px; font-size: 19px;
} }
#feed-accordion .highlight-search { #feed-accordion .highlight-search {
background-color: rgba(255, 255, 140, 0.5); background-color: rgba(255, 255, 140, 0.5);
color: #333; color: #333;
} }

View File

@@ -1,23 +1,22 @@
.help { .help {
font-size: 85%; font-size: 85%;
line-height: 15px; line-height: 15px;
} }
.help .bookmarklet-select { .help .bookmarklet-select {
margin: 0; margin: 0;
padding: 0; padding: 0;
height: auto; height: auto;
} }
.help .about-module { .help .about-module {
margin-bottom: 40px; margin-bottom: 40px;
} }
.donate-action { .donate-action {
margin-top:20px; margin-top: 20px;
} }
.donate-image { .donate-image {
padding-bottom:10px; padding-bottom: 10px;
padding-right:16px; padding-right: 16px;
} }

View File

@@ -1,12 +1,15 @@
#loading-bar .bar { #loading-bar .bar {
background: #2c3e50; background: #2c3e50;
height: 101px;
top: -100px;
position: fixed;
} }
#loading-bar .peg { #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 { #loading-bar-spinner .spinner-icon {
border-top-color: #2c3e50; border-top-color: #2c3e50;
border-left-color: #2c3e50; border-left-color: #2c3e50;
} }

View File

@@ -1,151 +1,161 @@
/* feed search dialog */ /* feed search dialog */
.feed-search-dialog .modal-body { .feed-search-dialog .modal-body {
overflow: hidden; overflow: hidden;
} }
.feed-search-dialog .filter-input { .feed-search-dialog .filter-input {
width: 90%; width: 90%;
} }
.feed-search-dialog .feed-link { .feed-search-dialog .feed-link {
font-size: large; font-size: large;
} }
.feed-search-dialog a:hover { .feed-search-dialog a:hover {
text-decoration: none; text-decoration: none;
} }
.feed-search-dialog .focus a { .feed-search-dialog .focus a {
color: black; color: black;
} }
/* tree*/ /* tree*/
.sidebar-nav-fixed { .sidebar-nav-fixed {
margin-top: 10px; margin-top: 10px;
width: 250px; width: 250px;
position: fixed; position: fixed;
top: 0; top: 0;
bottom: 0; bottom: 0;
overflow: hidden; overflow: hidden;
} }
.sidebar-nav-fixed:hover { .sidebar-nav-fixed:hover {
overflow-y: auto; overflow-y: auto;
} }
.sidebar-nav-fixed .ui-resizable-e { .sidebar-nav-fixed .ui-resizable-e {
width: 5px; width: 5px;
right: 0; right: 0;
} }
.full-screen .left-menu { .full-screen .left-menu {
display: none; display: none;
} }
.css-treeview { .css-treeview {
margin-top: 15px; margin-top: 15px;
margin-bottom: 30px; margin-bottom: 30px;
font-family: inherit; font-family: inherit;
font-size: 13px; font-size: 13px;
white-space: nowrap; white-space: nowrap;
} }
.css-treeview ul { .css-treeview ul {
list-style: none; list-style: none;
margin-left: 0px; margin-left: 0px;
padding: 0; padding: 0;
} }
.css-treeview li { .css-treeview li {
line-height: 20px; line-height: 20px;
} }
.css-treeview .fldr { .css-treeview .fldr {
cursor: pointer; cursor: pointer;
display: inline-block; display: inline-block;
width: 14px; width: 14px;
height: 14px; height: 14px;
line-height: 14px; line-height: 14px;
vertical-align: text-top; vertical-align: text-top;
margin-top: 1px; margin-top: 1px;
} }
.css-treeview .error { .css-treeview .error {
color: red; color: red;
font-style: italic; font-style: italic;
} }
.css-treeview label { .css-treeview label {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: block; display: block;
margin: 3px 0px 3px; margin: 3px 0px 3px;
} }
.css-treeview label,.css-treeview a,.css-treeview label::before { .css-treeview label,
font-family: inherit; .css-treeview a,
font-size: 12px; .css-treeview label::before {
white-space: nowrap; font-family: inherit;
font-size: 12px;
white-space: nowrap;
} }
.css-treeview .selected { .css-treeview .selected {
color: #d14836; color: #d14836;
} }
.css-treeview .unread { .css-treeview .unread {
font-weight: bold; font-weight: bold;
} }
.css-treeview .unread-counter { .css-treeview .unread-counter {
color: #666; color: #666;
font-size: 11px; font-size: 11px;
}
.css-treeview .unread ~ .unread-counter::before {
content: "(";
}
.css-treeview .unread ~ .unread-counter::after {
content: ")";
} }
.css-treeview a { .css-treeview a {
cursor: pointer; cursor: pointer;
color: black; color: black;
display: block; display: block;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.css-treeview a:hover { .css-treeview a:hover {
text-decoration: none; text-decoration: none;
} }
.css-treeview li .tree-item:hover { .css-treeview li .tree-item:hover {
background-color: #EBEBEB; background-color: #ebebeb;
text-decoration: none; text-decoration: none;
} }
.css-treeview .config { .css-treeview .config {
display: none; display: none;
} }
.css-treeview .tree-item:hover .config { .css-treeview .tree-item:hover .config {
display: block; display: block;
padding-top: 3px; padding-top: 3px;
margin-right: 5px; margin-right: 5px;
width: 16px; width: 16px;
height: 16px; height: 16px;
} }
.css-treeview .indent1 { .css-treeview .indent1 {
padding-left: 16px; padding-left: 16px;
} }
.css-treeview .indent2 { .css-treeview .indent2 {
padding-left: 32px; padding-left: 32px;
} }
.css-treeview .indent3 { .css-treeview .indent3 {
padding-left: 48px; padding-left: 48px;
} }
.css-treeview .indent4 { .css-treeview .indent4 {
padding-left: 64px; padding-left: 64px;
} }
.css-treeview .indent5 { .css-treeview .indent5 {
padding-left: 80px; padding-left: 80px;
} }

View File

@@ -1,16 +1,16 @@
.toolbar { .toolbar {
padding-top: 10px; padding-top: 10px;
padding-bottom: 10px; padding-bottom: 10px;
width: 100%; width: 100%;
z-index: 10; z-index: 10;
position: fixed; position: fixed;
background-color: #FFF; background-color: #fff;
} }
.toolbar .donate { .toolbar .donate {
display: inline-block; display: inline-block;
} }
.toolbar .keywords { .toolbar .keywords {
width: 244px; width: 244px;
} }

View File

@@ -1,20 +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;
font-size: 21px;
top: 5px;
position: relative;
line-height: 0px;
}

View File

@@ -1,135 +1,153 @@
a:focus {
outline: none;
text-decoration: none;
}
.container-full { .container-full {
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
padding-right: 20px; padding-right: 20px;
padding-left: 20px; padding-left: 20px;
} }
body img { body img {
max-width: 100%; max-width: 100%;
height: auto; height: auto;
} }
body .modal { body .modal {
display: block; display: block;
} }
body .modal-backdrop { body .modal-backdrop {
opacity: 0.5; opacity: 0.5;
} }
label { label {
font-weight: inherit; font-weight: inherit;
} }
.pointer { .pointer {
cursor: pointer; cursor: pointer;
} }
.nolink { .nolink {
color: inherit; color: inherit;
} }
.nolink:hover { .nolink:hover {
text-decoration: none; text-decoration: none;
color: inherit; color: inherit;
} }
.clear-both { .clear-both {
clear: both; clear: both;
} }
.block { .block {
display: block; display: block;
}
.pre-wrap {
white-space: pre-wrap;
} }
.form-horizontal .control-group { .form-horizontal .control-group {
margin-bottom: 10px; margin-bottom: 10px;
} }
.bidi-embed { .bidi-embed {
unicode-bidi: embed; unicode-bidi: embed;
} }
.bs-fb ul { .bs-fb ul {
margin-bottom: 0px; margin-bottom: 0px;
} }
.horizontal-align { .horizontal-align {
padding-top: 5px; padding-top: 5px;
line-height: 20px line-height: 20px;
} }
.welcome .container-fluid { .welcome .container-fluid {
margin-right: auto; margin-right: auto;
margin-left: auto; margin-left: auto;
max-width: 950px; max-width: 950px;
} }
.welcome .header { .welcome .header {
margin: 20px 0 20px 0; margin: 20px 0 20px 0;
} }
.welcome h3 { .welcome h3 {
margin-top: 0; margin-top: 0;
} }
.welcome .tagline { .welcome .tagline {
color: #B3B3B3; color: #b3b3b3;
font-size: 28px; font-size: 28px;
padding-top: 110px; padding-top: 110px;
} }
.welcome .preview { .welcome .preview {
margin-top: 20px; margin-top: 20px;
margin-bottom: 20px; margin-bottom: 20px;
} }
.welcome .demo { .welcome .demo {
font-size: 24px; font-size: 24px;
color: #B3B3B3; color: #b3b3b3;
display: block; display: block;
} }
.main .spinner { .main .spinner {
display: inline-block; display: inline-block;
margin-left: 11px; margin-left: 11px;
top: -4px; top: -4px;
} }
.icon { .icon {
width: 14px; width: 14px;
height: 14px; height: 14px;
display: block; display: block;
} }
.main .dropdown-menu a { .main .dropdown-menu a {
cursor: pointer; cursor: pointer;
} }
.favicon { .favicon {
width: 16px; width: 16px;
height: 16px; height: 16px;
} }
blockquote p { blockquote p {
font-size: 14px; font-size: 14px;
} }
.btn,.btn-large,.btn-small,.btn-mini { .form-group {
border-top-left-radius: 2px; margin-bottom: 10px;
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 { .btn,
border-top-left-radius: 2px; .btn-large,
border-bottom-left-radius: 2px; .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:last-child,.btn-group>.btn-large:last-child,.btn-group>.dropdown-toggle .btn-group > .btn:first-child,
{ .btn-group > .btn-large:first-child {
border-top-right-radius: 2px; border-top-left-radius: 2px;
border-bottom-right-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;
}

View File

@@ -1,21 +1,21 @@
::-webkit-scrollbar { ::-webkit-scrollbar {
height: 8px; height: 8px;
width: 8px; width: 8px;
} }
::-webkit-scrollbar-track { ::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1); background: rgba(0, 0, 0, 0.1);
} }
::-webkit-scrollbar-track:hover { ::-webkit-scrollbar-track:hover {
background-color: rgba(0, 0, 0, .05); background-color: rgba(0, 0, 0, 0.05);
box-shadow: inset 1px 0 0 rgba(0, 0, 0, .1) box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.1);
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2); background: rgba(0, 0, 0, 0.2);
} }
::-webkit-scrollbar-thumb:hover { ::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.5); background: rgba(0, 0, 0, 0.5);
} }

View File

@@ -1,86 +1,89 @@
html.mobile, html.tablet { html.mobile,
body { html.tablet {
padding-left: 0px; body {
padding-right: 0px; padding-left: 0px;
} padding-right: 0px;
.container-full { }
padding-left: 5px; .container-full {
padding-right: 5px; padding-left: 5px;
} padding-right: 5px;
.row { }
margin-right: 0; .row {
margin-left: 0; margin-right: 0;
} margin-left: 0;
}
.left-menu { .left-menu {
display: none !important; display: none !important;
} }
.left-menu .feed-link, .left-menu .category-link { .left-menu .feed-link,
line-height: 30px; .left-menu .category-link {
font-size: 105%; line-height: 30px;
} font-size: 105%;
.toolbar .toolbar-expand.btn-group { }
display: inline-block !important; .toolbar .toolbar-expand.btn-group {
} display: inline-block !important;
.main-content { }
display: block !important; .main-content {
float: none !important; display: block !important;
width: 100% !important; float: none !important;
margin-left: 0 !important; width: 100% !important;
padding-left: 0; margin-left: 0 !important;
padding-right: 0; padding-left: 0;
} padding-right: 0;
#feed-accordion .entry-heading .shrink { }
margin-left: 0; #feed-accordion .entry-heading .shrink {
margin-right: 0; margin-left: 0;
} margin-right: 0;
#feed-accordion .entry-heading .feed-name { }
width: 50%; #feed-accordion .entry-heading .feed-name {
} width: 50%;
#feed-accordion .feed-name { }
margin-top: 22px; #feed-accordion .feed-name {
} margin-top: 22px;
#feed-accordion .entry-external-link { }
right: 15px; #feed-accordion .entry-external-link {
margin-top: -24px; right: 15px;
} margin-top: -24px;
#feed-accordion .entry-heading-link { }
height: 52px; #feed-accordion .entry-heading-link {
} height: 52px;
#feed-accordion .entry-heading .entry-date { }
right: 40px; #feed-accordion .entry-heading .entry-date {
margin-top: 22px; right: 40px;
} margin-top: 22px;
#feed-accordion .entry-buttons .checkbox, #feed-accordion .entry-buttons .form-group { }
display: inline-block; #feed-accordion .entry-buttons .checkbox,
} #feed-accordion .entry-buttons .form-group {
#feed-accordion .tags-panel { display: inline-block;
display: block; }
margin-left: 5px; #feed-accordion .tags-panel {
} display: block;
#feed-accordion a.mark-up-to { margin-left: 5px;
right: 20px; }
margin-top: -18px; #feed-accordion a.mark-up-to {
} right: 20px;
body.left-menu-active .left-menu { margin-top: -18px;
display: block !important; }
width: 100%; body.left-menu-active .left-menu {
} display: block !important;
body.left-menu-active .sidebar-nav-fixed { width: 100%;
width: 100%; }
overflow: auto; body.left-menu-active .sidebar-nav-fixed {
} width: 100%;
body.left-menu-active .main-content { overflow: auto;
display: none !important; }
} body.left-menu-active .main-content {
body.right-menu-active .toolbar .actions { display: none !important;
margin-top: 5px; }
margin-left: 0; body.right-menu-active .toolbar .actions {
} margin-top: 5px;
body.right-menu-active .toolbar .actions { margin-left: 0;
display: inherit !important; }
} body.right-menu-active .toolbar .actions {
#uvTab { display: inherit !important;
display: none; }
} #uvTab {
} display: none;
}
}

View File

@@ -1,34 +1,53 @@
#theme-MRACHINI { #theme-MRACHINI {
/*transitional hightlighting*/ /*transitional hightlighting*/
.entry-title > a.ng-binding:link, .entry-body-content > div.ng-binding a:link{ .entry-title > a.ng-binding:link,
-moz-transition: background-color 1s ease-in 0s; .entry-body-content > div.ng-binding a:link {
-webkit-transition: background-color 1s ease-in 0s; -moz-transition: background-color 1s ease-in 0s;
-o-transition: background-color 1s ease-in 0s; -webkit-transition: background-color 1s ease-in 0s;
} -o-transition: background-color 1s ease-in 0s;
.entry-title > a.ng-binding:hover, .entry-body-content > div.ng-binding a:hover{ }
background-color: lime; .entry-title > a.ng-binding:hover,
-moz-transition: background-color 1s ease-out 0s; .entry-body-content > div.ng-binding a:hover {
-webkit-transition: background-color 1s ease-out 0s; background-color: lime;
-o-transition: background-color 1s ease-out 0s; -moz-transition: background-color 1s ease-out 0s;
} -webkit-transition: background-color 1s ease-out 0s;
.entry-title > a.ng-binding:active, .entry-body-content > div.ng-binding a:active{ -o-transition: background-color 1s ease-out 0s;
background-color: lime; }
-moz-transition: none; .entry-title > a.ng-binding:active,
-webkit-transition: none; .entry-body-content > div.ng-binding a:active {
-o-transition: none; background-color: lime;
} -moz-transition: none;
-webkit-transition: none;
-o-transition: none;
}
/*hovered item*/ /*hovered item*/
.entry-heading:hover{box-shadow: inset 0 0 40px 0px lime !important;} .entry-heading:hover {
/*hovered tree item*/ box-shadow: inset 0 0 40px 0px lime !important;
/*.css-treeview li .tree-item:hover{box-shadow: inset 0 0 20px 0px hsla(7,63%,52%,1) !important;}*/ }
.css-treeview li .tree-item:hover{box-shadow: inset 0 0 20px 0px lime !important;} /*hovered tree item*/
/*highlight current selected tree item*/ /*.css-treeview li .tree-item:hover{box-shadow: inset 0 0 20px 0px hsla(7,63%,52%,1) !important;}*/
.css-treeview li .tree-item .selected{box-shadow: inset 0 0 20px 0px lime !important;} .css-treeview li .tree-item:hover {
box-shadow: inset 0 0 20px 0px lime !important;
}
/*highlight current selected tree item*/
.css-treeview li .tree-item .selected {
box-shadow: inset 0 0 20px 0px lime !important;
}
.css-treeview .indent1{padding-left:10px} .css-treeview .indent1 {
.css-treeview .indent2{padding-left:20px} padding-left: 10px;
.css-treeview .indent3{padding-left:30px} }
.css-treeview .indent4{padding-left:40px} .css-treeview .indent2 {
.css-treeview .indent5{padding-left:50px} padding-left: 20px;
} }
.css-treeview .indent3 {
padding-left: 30px;
}
.css-treeview .indent4 {
padding-left: 40px;
}
.css-treeview .indent5 {
padding-left: 50px;
}
}

View File

@@ -1,348 +1,348 @@
#theme-bootstrap{ #theme-bootstrap {
/*! /*!
* Bootstrap v3.1.1 (http://getbootstrap.com) * Bootstrap v3.1.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
.btn-default, .btn-default,
.btn-primary, .btn-primary,
.btn-success, .btn-success,
.btn-info, .btn-info,
.btn-warning, .btn-warning,
.btn-danger { .btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #2b669a;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #2d6ca2;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #2d6ca2;
border-color: #2b669a;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #357ebd;
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
}
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
}
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);
background-image: linear-gradient(to bottom, #222 0%, #282828 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #3071a9;
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
background-repeat: repeat-x;
border-color: #3278b3;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
}
} }
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #2b669a;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #2d6ca2;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #2d6ca2;
border-color: #2b669a;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #357ebd;
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
}
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);
background-image: linear-gradient(to bottom, #222 0%, #282828 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #3071a9;
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
background-repeat: repeat-x;
border-color: #3278b3;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
}

View File

@@ -1,276 +1,274 @@
#theme-dark { #theme-dark {
* {
* { outline: 0;
outline: 0; text-decoration: none;
text-decoration: none; }
} .btn {
.btn { border: none;
border: none; }
} .btn-default,
.btn-default, .btn-primary,
.btn-primary, .btn-success,
.btn-success, .btn-info,
.btn-info, .btn-warning,
.btn-warning, .btn-danger {
.btn-danger { background: none;
background: none; text-shadow: none;
text-shadow: none; color: #424345;
color: #424345; }
} .btn-default:active,
.btn-default:active, .btn-primary:active,
.btn-primary:active, .btn-success:active,
.btn-success:active, .btn-info:active,
.btn-info:active, .btn-warning:active,
.btn-warning:active, .btn-danger:active,
.btn-danger:active, .btn-default.active,
.btn-default.active, .btn-primary.active,
.btn-primary.active, .btn-success.active,
.btn-success.active, .btn-info.active,
.btn-info.active, .btn-warning.active,
.btn-warning.active, .btn-danger.active {
.btn-danger.active { -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); -ms-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-ms-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); -o-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-o-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); background: #e0e0e0;
background: #e0e0e0; }
} .btn-default {
.btn-default { background: #c7cbcc;
background: #c7cbcc; }
} .btn:hover {
.btn:hover { background: #e0e0e0;
background: #e0e0e0; }
} .dropdown-menu {
.dropdown-menu { background: #c7cbcc;
background: #c7cbcc; -webkit-border-radius: 4px;
-webkit-border-radius: 4px; -moz-border-radius: 4px;
-moz-border-radius: 4px; -ms-border-radius: 4px;
-ms-border-radius: 4px; -o-border-radius: 4px;
-o-border-radius: 4px; border-radius: 4px;
border-radius: 4px; border: none;
border: none; color: #424345;
color: #424345; }
} .dropdown-menu a {
.dropdown-menu a { color: inherit;
color: inherit; }
} .dropdown-menu .divider {
.dropdown-menu .divider { display: none;
display: none; }
} .btn-primary:hover {
.btn-primary:hover { color: #000;
color: #000; }
} .btn-primary:active {
.btn-primary:active { color: #000;
color: #000; }
} .btn-primary:active:hover {
.btn-primary:active:hover { color: #000;
color: #000; }
} .btn-default:hover {
.btn-default:hover { color: #000;
color: #000; }
} .btn-default:active {
.btn-default:active { color: #000;
color: #000; }
} .btn-default:active:hover {
.btn-default:active:hover { color: #000;
color: #000; }
} .btn {
.btn { -webkit-transition: all 400ms linear;
-webkit-transition: all 400ms linear; -moz-transition: all 400ms linear;
-moz-transition: all 400ms linear; -ms-transition: all 400ms linear;
-ms-transition: all 400ms linear; -o-transition: all 400ms linear;
-o-transition: all 400ms linear; transition: all 400ms linear;
transition: all 400ms linear; }
} input[ng-model="keywords"] {
input[ng-model='keywords'] { -webkit-transition: all 400ms linear;
-webkit-transition: all 400ms linear; -moz-transition: all 400ms linear;
-moz-transition: all 400ms linear; -ms-transition: all 400ms linear;
-ms-transition: all 400ms linear; -o-transition: all 400ms linear;
-o-transition: all 400ms linear; transition: all 400ms linear;
transition: all 400ms linear; }
} input[ng-model="keywords"]:focus {
input[ng-model='keywords']:focus { background: #c7cbcc;
background: #c7cbcc; }
} a[ng-click^="tab"] {
a[ng-click^='tab'] { -webkit-transition: all 390ms linear;
-webkit-transition: all 390ms linear; -moz-transition: all 390ms linear;
-moz-transition: all 390ms linear; -ms-transition: all 390ms linear;
-ms-transition: all 390ms linear; -o-transition: all 390ms linear;
-o-transition: all 390ms linear; transition: all 390ms linear;
transition: all 390ms linear; }
} a[ng-click^="tab"]:hover {
a[ng-click^='tab']:hover { color: #000;
color: #000; }
} .css-treeview li {
.css-treeview li { -webkit-transition: all 150ms linear;
-webkit-transition: all 150ms linear; -moz-transition: all 150ms linear;
-moz-transition: all 150ms linear; -ms-transition: all 150ms linear;
-ms-transition: all 150ms linear; -o-transition: all 150ms linear;
-o-transition: all 150ms linear; transition: all 150ms linear;
transition: all 150ms linear; }
} #uvTab {
#uvTab { -webkit-transition: all 260ms linear;
-webkit-transition: all 260ms linear; -moz-transition: all 260ms linear;
-moz-transition: all 260ms linear; -ms-transition: all 260ms linear;
-ms-transition: all 260ms linear; -o-transition: all 260ms linear;
-o-transition: all 260ms linear; transition: all 260ms linear;
transition: all 260ms linear; }
} body {
body { background: #788587;
background: #788587; color: #424345;
color: #424345; }
} body a {
body a { color: #e0e0e0;
color: #e0e0e0; }
} body h3 {
body h3 { color: #424345;
color: #424345; }
} .toolbar {
.toolbar { background: #788587;
background: #788587; }
} .page-header {
.page-header { border: none;
border: none; }
} .entrylist-header {
.entrylist-header { border: none;
border: none; }
} .entrylist-header h3,
.entrylist-header h3, .entrylist-header a {
.entrylist-header a { margin: 0;
margin: 0; }
} #feed-accordion .entry {
#feed-accordion .entry { border: none;
border: none; }
} #feed-accordion .unread .entry-heading {
#feed-accordion .unread .entry-heading { background: #c9c9c9;
background: #c9c9c9; }
} #feed-accordion .unread:nth-of-type(2n) .entry-heading {
#feed-accordion .unread:nth-of-type(2n) .entry-heading { background: #ddd;
background: #ddd; }
} #feed-accordion .unread .entry-heading:hover,
#feed-accordion .unread .entry-heading:hover, #feed-accordion .unread:nth-of-type(2n):hover {
#feed-accordion .unread:nth-of-type(2n):hover { background: #ebebeb;
background: #ebebeb; }
} #feed-accordion .entry-heading-link {
#feed-accordion .entry-heading-link { color: #383838;
color: #383838; }
} #feed-accordion .entry-heading-link:hover {
#feed-accordion .entry-heading-link:hover { color: #000;
color: #000; }
} #feed-accordion .entry-body {
#feed-accordion .entry-body { background: #c7cbcc;
background: #c7cbcc; padding: 15px 0 0 15px;
padding: 15px 0 0 15px; }
} #feed-accordion .entry-body a:not([popup]) {
#feed-accordion .entry-body a:not([popup]) { color: #2c4967;
color: #2c4967; }
} #feed-accordion .entry-body a:not([popup]):visited {
#feed-accordion .entry-body a:not([popup]):visited { color: #8d8e8e;
color: #8d8e8e; }
} #feed-accordion .entry-body .entry-title {
#feed-accordion .entry-body .entry-title { display: none;
display: none; }
} #feed-accordion .entry-body img {
#feed-accordion .entry-body img { -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); -moz-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); -ms-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-ms-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); -o-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-o-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); }
} #feed-accordion .highlight-search {
#feed-accordion .highlight-search { background: inherit;
background: inherit; }
} #feed-accordion .entry-buttons {
#feed-accordion .entry-buttons { background: #a68589;
background: #a68589; margin-left: -15px;
margin-left: -15px; border: none;
border: none; }
} #feed-accordion.expanded .entry {
#feed-accordion.expanded .entry { -webkit-box-shadow: none;
-webkit-box-shadow: none; -moz-box-shadow: none;
-moz-box-shadow: none; -ms-box-shadow: none;
-ms-box-shadow: none; -o-box-shadow: none;
-o-box-shadow: none; box-shadow: none;
box-shadow: none; border: none;
border: none; margin-bottom: 30px;
margin-bottom: 30px; }
} #feed-accordion.expanded .entry .entry-heading-link {
#feed-accordion.expanded .entry .entry-heading-link { color: #a68589;
color: #a68589; }
} input[ng-model="keywords"] {
input[ng-model='keywords'] { border: none;
border: none; height: 32px;
height: 32px; background: #9ba8aa;
background: #9ba8aa; }
} .css-treeview .selected {
.css-treeview .selected { color: #905158 !important;
color: #905158 !important; }
} .css-treeview .unread-counter {
.css-treeview .unread-counter { color: #000;
color: #000; }
} .css-treeview li .tree-item:hover {
.css-treeview li .tree-item:hover { background: #ebebeb;
background: #ebebeb; }
} .css-treeview a {
.css-treeview a { color: #383838;
color: #383838; }
} .css-treeview a:hover {
.css-treeview a:hover { font-size: 1.02em;
font-size: 1.02em; }
} #uvTab {
#uvTab { margin-bottom: -23px;
margin-bottom: -23px; }
} #uvTab:hover {
#uvTab:hover { margin-bottom: 0;
margin-bottom: 0; }
} /*dangerous stuff*/
/*dangerous stuff*/ #feed-accordion.expanded .entry .entry-heading-link > .feed-name {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name { float: right;
float: right; display: block;
display: block; position: relative;
position: relative; margin-right: 150px;
margin-right: 150px; }
} #feed-accordion.expanded .entry .entry-heading-link .entry-name {
#feed-accordion.expanded .entry .entry-heading-link .entry-name { margin-left: 40px;
margin-left: 40px; color: #a68589;
color: #a68589; }
} @media only screen and (max-width: 800px) {
@media only screen and (max-width: 800px) { #toolbar {
#toolbar { display: none;
display: none; }
} .sidebar-nav-fixed > .btn-group {
.sidebar-nav-fixed>.btn-group { display: none;
display: none; }
} .entryList {
.entryList { padding-top: 10px;
padding-top: 10px; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name { float: left;
float: left; width: 50px;
width: 50px; font-size: 0;
font-size: 0; position: initial;
position: initial; display: block;
display: block; margin-right: 0;
margin-right: 0; margin-right: initial;
margin-right: initial; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name .star {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name .star { font-size: 14px;
font-size: 14px; font-size: initial;
font-size: initial; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name img {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name img { margin-top: -14px;
margin-top: -14px; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name:after {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name:after { content: "";
content: ''; display: block;
display: block; clear: left;
clear: left; }
} #feed-accordion.expanded .entry .entry-heading-link .entry-name {
#feed-accordion.expanded .entry .entry-heading-link .entry-name { margin-left: 55px;
margin-left: 55px; color: #a68589;
color: #a68589; }
} }
}
} }

View File

@@ -1,17 +1,21 @@
#theme-ebraminio { #theme-ebraminio {
/* My font setting, a bit specific for Persian but is okay in other languages */ /* My font setting, a bit specific for Persian but is okay in other languages */
body { body {
font-family: Tahoma, 'Iranian sans', 'DejaVu Sans', sans-serif; font-family: Tahoma, "Iranian sans", "DejaVu Sans", sans-serif;
} }
input, button, select, textarea { input,
font-family: inherit; /* what said above */ button,
} select,
/* Change source-codes in feeds background to white */ textarea {
pre { font-family: inherit; /* what said above */
background-color: transparent; }
} /* Change source-codes in feeds background to white */
/* 100% forever */ pre {
.expanded .entry-header, #feed-accordion .entry-body-content { background-color: transparent;
max-width: 100%; }
} /* 100% forever */
} .expanded .entry-header,
#feed-accordion .entry-body-content {
max-width: 100%;
}
}

View File

@@ -0,0 +1,134 @@
#theme-nightsky {
a {
color: #2a9fd6;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #fff;
background-color: #2a9fd6;
}
body,
.toolbar {
color: #c6c6c6;
background-color: #2f2f2f;
}
.btn-default {
color: #c6c6c6;
background-color: #424242;
border-color: #424242;
}
.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
background-color: #282828;
border-color: #232323;
}
.css-treeview li .tree-item:hover {
background-color: #282828;
}
.css-treeview .unread-counter {
color: #939393;
}
.css-treeview .category-link,
.css-treeview a {
color: #939393;
}
.css-treeview a .unread,
.css-treeview .category-link .unread {
color: #c6c6c6;
}
.css-treeview .selected {
color: #c00;
}
.entrylist-header {
border-bottom: 1px solid #282828;
}
#feed-accordion .entry {
border-bottom: 1px solid #282828;
}
#feed-accordion .entry-body .entry-title {
font-weight: normal;
}
#feed-accordion .entry-heading .entry-name {
color: #939393;
}
#feed-accordion .unread .entry-heading .entry-name {
font-weight: normal;
color: #c6c6c6;
}
#feed-accordion .unread .entry-heading {
background-color: #444;
}
#feed-accordion .entry-heading {
background-color: #2f2f2f;
}
#feed-accordion .unread .entry-heading:hover {
background-color: #2f2f2f;
}
#feed-accordion .current.closed .entry-heading {
background-color: #151515;
}
#feed-accordion .entry-heading-link {
color: #c6c6c6;
}
#feed-accordion .entry-external-link {
color: #c6c6c6;
}
#feed-accordion .icon-star-empty {
color: #c6c6c6;
}
#feed-accordion .entry-heading .feed-name {
color: #939393;
}
#feed-accordion .entry-body-content {
color: #c6c6c6;
}
#feed-accordion .entry-buttons {
background-color: #494949;
border-top: 1px solid #282828;
}
#feed-accordion .share-buttons a {
color: #c6c6c6;
}
#feed-accordion a.mark-up-to {
color: #c6c6c6;
}
#loading-bar .bar {
background: #c6c6c6;
}
#loading-bar .peg {
box-shadow: 0 0 10px #c6c6c6, 0 0 5px #c6c6c6;
}
}

View File

@@ -1,378 +1,377 @@
#theme-svetla { #theme-svetla {
* {
* { outline: 0;
outline: 0; text-decoration: none;
text-decoration: none; }
} :focus {
:focus { outline: none !important;
outline: none !important; }
} ::-moz-focus-inner {
::-moz-focus-inner { border: 0 !important;
border: 0 !important; }
} .btn {
.btn { border: none;
border: none; }
} .btn-default,
.btn-default, .btn-primary,
.btn-primary, .btn-success,
.btn-success, .btn-info,
.btn-info, .btn-warning,
.btn-warning, .btn-danger {
.btn-danger { background: none;
background: none; text-shadow: none;
text-shadow: none; color: #788587;
color: #788587; }
} .btn-default:active,
.btn-default:active, .btn-primary:active,
.btn-primary:active, .btn-success:active,
.btn-success:active, .btn-info:active,
.btn-info:active, .btn-warning:active,
.btn-warning:active, .btn-danger:active,
.btn-danger:active, .btn-default.active,
.btn-default.active, .btn-primary.active,
.btn-primary.active, .btn-success.active,
.btn-success.active, .btn-info.active,
.btn-info.active, .btn-warning.active,
.btn-warning.active, .btn-danger.active {
.btn-danger.active { -webkit-box-shadow: 0 -5px 5px 0 rgba(238, 232, 213, 0.2) inset, 0 5px 5px 0 rgba(238, 232, 213, 0.2) inset;
-webkit-box-shadow: 0 -5px 5px 0 rgba(238,232,213,0.2) inset , 0 5px 5px 0 rgba(238,232,213,0.2) inset; -moz-box-shadow: 0 -5px 5px 0 rgba(238, 232, 213, 0.2) inset, 0 5px 5px 0 rgba(238, 232, 213, 0.2) inset;
-moz-box-shadow: 0 -5px 5px 0 rgba(238,232,213,0.2) inset , 0 5px 5px 0 rgba(238,232,213,0.2) inset; -ms-box-shadow: 0 -5px 5px 0 rgba(238, 232, 213, 0.2) inset, 0 5px 5px 0 rgba(238, 232, 213, 0.2) inset;
-ms-box-shadow: 0 -5px 5px 0 rgba(238,232,213,0.2) inset , 0 5px 5px 0 rgba(238,232,213,0.2) inset; -o-box-shadow: 0 -5px 5px 0 rgba(238, 232, 213, 0.2) inset, 0 5px 5px 0 rgba(238, 232, 213, 0.2) inset;
-o-box-shadow: 0 -5px 5px 0 rgba(238,232,213,0.2) inset , 0 5px 5px 0 rgba(238,232,213,0.2) inset; box-shadow: 0 -5px 5px 0 rgba(238, 232, 213, 0.2) inset, 0 5px 5px 0 rgba(238, 232, 213, 0.2) inset;
box-shadow: 0 -5px 5px 0 rgba(238,232,213,0.2) inset , 0 5px 5px 0 rgba(238,232,213,0.2) inset; background: rgba(238, 232, 213, 0.3);
background: rgba(238,232,213,0.3); color: #788587;
color: #788587; }
} .btn-default {
.btn-default { background: #eee8d5;
background: #eee8d5; }
} .btn:hover {
.btn:hover { background: #c4bea6;
background: #c4bea6; }
} .dropdown-menu {
.dropdown-menu { background: #c7cbcc;
background: #c7cbcc; -webkit-border-radius: 3px;
-webkit-border-radius: 3px; -moz-border-radius: 3px;
-moz-border-radius: 3px; -ms-border-radius: 3px;
-ms-border-radius: 3px; -o-border-radius: 3px;
-o-border-radius: 3px; border-radius: 3px;
border-radius: 3px; border: none;
border: none; color: #424345;
color: #424345; -webkit-box-shadow: none;
-webkit-box-shadow: none; -moz-box-shadow: none;
-moz-box-shadow: none; -ms-box-shadow: none;
-ms-box-shadow: none; -o-box-shadow: none;
-o-box-shadow: none; box-shadow: none;
box-shadow: none; }
} .dropdown-menu a {
.dropdown-menu a { color: inherit;
color: inherit; }
} .dropdown-menu .divider {
.dropdown-menu .divider { display: none;
display: none; }
} .btn-primary:hover {
.btn-primary:hover { color: #000;
color: #000; }
} .btn-primary:active {
.btn-primary:active { color: #000;
color: #000; }
} .btn-primary:active:hover {
.btn-primary:active:hover { color: #000;
color: #000; }
} .btn-default:hover {
.btn-default:hover { color: #000;
color: #000; }
} .btn-default:active {
.btn-default:active { color: #000;
color: #000; }
} .btn-default:active:hover {
.btn-default:active:hover { color: #000;
color: #000; }
} .btn {
.btn { -webkit-transition: all 400ms linear;
-webkit-transition: all 400ms linear; -moz-transition: all 400ms linear;
-moz-transition: all 400ms linear; -ms-transition: all 400ms linear;
-ms-transition: all 400ms linear; -o-transition: all 400ms linear;
-o-transition: all 400ms linear; transition: all 400ms linear;
transition: all 400ms linear; }
} input[ng-model="keywords"] {
input[ng-model='keywords'] { -webkit-transition: all 400ms linear;
-webkit-transition: all 400ms linear; -moz-transition: all 400ms linear;
-moz-transition: all 400ms linear; -ms-transition: all 400ms linear;
-ms-transition: all 400ms linear; -o-transition: all 400ms linear;
-o-transition: all 400ms linear; transition: all 400ms linear;
transition: all 400ms linear; }
} input[ng-model="keywords"]:focus {
input[ng-model='keywords']:focus { background: #c7cbcc;
background: #c7cbcc; }
} a[ng-click^="tab"] {
a[ng-click^='tab'] { -webkit-transition: all 390ms linear;
-webkit-transition: all 390ms linear; -moz-transition: all 390ms linear;
-moz-transition: all 390ms linear; -ms-transition: all 390ms linear;
-ms-transition: all 390ms linear; -o-transition: all 390ms linear;
-o-transition: all 390ms linear; transition: all 390ms linear;
transition: all 390ms linear; }
} a[ng-click^="tab"]:hover {
a[ng-click^='tab']:hover { color: #000;
color: #000; }
} .css-treeview li {
.css-treeview li { -webkit-transition: all 150ms linear;
-webkit-transition: all 150ms linear; -moz-transition: all 150ms linear;
-moz-transition: all 150ms linear; -ms-transition: all 150ms linear;
-ms-transition: all 150ms linear; -o-transition: all 150ms linear;
-o-transition: all 150ms linear; transition: all 150ms linear;
transition: all 150ms linear; }
} #uvTab {
#uvTab { -webkit-transition: all 260ms linear;
-webkit-transition: all 260ms linear; -moz-transition: all 260ms linear;
-moz-transition: all 260ms linear; -ms-transition: all 260ms linear;
-ms-transition: all 260ms linear; -o-transition: all 260ms linear;
-o-transition: all 260ms linear; transition: all 260ms linear;
transition: all 260ms linear; }
} body {
body { background: #fdf6e3;
background: #fdf6e3; color: #424345;
color: #424345; }
} body a {
body a { color: #788587;
color: #788587; }
} .toolbar {
.toolbar { background: #fdf6e3;
background: #fdf6e3; }
} .page-header {
.page-header { border: none;
border: none; }
} .entrylist-header {
.entrylist-header { border: none;
border: none; }
} .entrylist-header h3,
.entrylist-header h3, .entrylist-header a {
.entrylist-header a { margin: 0;
margin: 0; }
} #feed-accordion .entry-heading {
#feed-accordion .entry-heading { background: #edeae6;
background: #edeae6; background: -webkit-moz-linear-gradient(rgba(238, 232, 213, 0.7), #fdf6e3);
background: -webkit-moz-linear-gradient(rgba(238,232,213,0.7), #fdf6e3); background: -moz-linear-gradient(rgba(238, 232, 213, 0.7), #fdf6e3);
background: -moz-linear-gradient(rgba(238,232,213,0.7), #fdf6e3); background: -ms-moz-linear-gradient(rgba(238, 232, 213, 0.7), #fdf6e3);
background: -ms-moz-linear-gradient(rgba(238,232,213,0.7), #fdf6e3); background: linear-gradient(rgba(238, 232, 213, 0.7), #fdf6e3);
background: linear-gradient(rgba(238,232,213,0.7), #fdf6e3); }
} #feed-accordion .entry-heading-link {
#feed-accordion .entry-heading-link { color: #786b47 !important;
color: #786b47 !important; font-style: italic !important;
font-style: italic !important; }
} #feed-accordion .entry {
#feed-accordion .entry { border: none;
border: none; }
} #feed-accordion .unread .entry-heading {
#feed-accordion .unread .entry-heading { background: #fdf6e3;
background: #fdf6e3; }
} #feed-accordion .unread .entry-heading .entry-heading-link {
#feed-accordion .unread .entry-heading .entry-heading-link { color: #404141 !important;
color: #404141 !important; font-style: normal !important;
font-style: normal !important; }
} #feed-accordion .unread:nth-of-type(2n) .entry-heading {
#feed-accordion .unread:nth-of-type(2n) .entry-heading { background: rgba(238, 232, 213, 0.7);
background: rgba(238,232,213,0.7); }
} #feed-accordion .entry-body {
#feed-accordion .entry-body { background: #eee8d5;
background: #eee8d5; padding: 2px 0 0 15px;
padding: 2px 0 0 15px; }
} #feed-accordion .entry-body a.nolink.pointer {
#feed-accordion .entry-body a.nolink.pointer { color: #424345;
color: #424345; }
} #feed-accordion .entry-body a:not([popup]) {
#feed-accordion .entry-body a:not([popup]) { color: #6c6759;
color: #6c6759; }
} #feed-accordion .entry-body a:not([popup]):visited {
#feed-accordion .entry-body a:not([popup]):visited { color: #8d8e8e;
color: #8d8e8e; }
} #feed-accordion .entry-body .entry-title {
#feed-accordion .entry-body .entry-title { font-size: 1em;
font-size: 1em; }
} #feed-accordion .entry-body .entry-title .entry-subtitle {
#feed-accordion .entry-body .entry-title .entry-subtitle { display: inline;
display: inline; }
} #feed-accordion .entry-body .entry-title .entry-subtitle [class^="entry-author"] {
#feed-accordion .entry-body .entry-title .entry-subtitle [class^='entry-author'] { font-style: italic;
font-style: italic; }
} #feed-accordion .entry-body .entry-title .entry-subtitle .entry-source {
#feed-accordion .entry-body .entry-title .entry-subtitle .entry-source { display: none;
display: none; }
} #feed-accordion .entry-body .entry-title a {
#feed-accordion .entry-body .entry-title a { color: #a7a083;
color: #a7a083; }
} #feed-accordion .entry-body img {
#feed-accordion .entry-body img { -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0 0 2px 0 rgba(0,0,0,0.1); -moz-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 0 2px 0 rgba(0,0,0,0.1); -ms-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
-ms-box-shadow: 0 0 2px 0 rgba(0,0,0,0.1); -o-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
-o-box-shadow: 0 0 2px 0 rgba(0,0,0,0.1); box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
box-shadow: 0 0 2px 0 rgba(0,0,0,0.1); }
} #feed-accordion .highlight-search {
#feed-accordion .highlight-search { background: inherit;
background: inherit; }
} #feed-accordion .entry-buttons {
#feed-accordion .entry-buttons { background: #a68589;
background: #a68589; margin-left: -15px;
margin-left: -15px; border: none;
border: none; }
} #feed-accordion.expanded .entry {
#feed-accordion.expanded .entry { -webkit-box-shadow: none;
-webkit-box-shadow: none; -moz-box-shadow: none;
-moz-box-shadow: none; -ms-box-shadow: none;
-ms-box-shadow: none; -o-box-shadow: none;
-o-box-shadow: none; box-shadow: none;
box-shadow: none; border: none;
border: none; }
} input[ng-model="keywords"] {
input[ng-model='keywords'] { border: none;
border: none; height: 32px;
height: 32px; -webkit-box-shadow: 0 0 2px 1px #eee8d5 inset;
-webkit-box-shadow: 0 0 2px 1px #eee8d5 inset; -moz-box-shadow: 0 0 2px 1px #eee8d5 inset;
-moz-box-shadow: 0 0 2px 1px #eee8d5 inset; -ms-box-shadow: 0 0 2px 1px #eee8d5 inset;
-ms-box-shadow: 0 0 2px 1px #eee8d5 inset; -o-box-shadow: 0 0 2px 1px #eee8d5 inset;
-o-box-shadow: 0 0 2px 1px #eee8d5 inset; box-shadow: 0 0 2px 1px #eee8d5 inset;
box-shadow: 0 0 2px 1px #eee8d5 inset; }
} input[ng-model="keywords"]:focus {
input[ng-model='keywords']:focus { background: #fff;
background: #fff; }
} .css-treeview .selected {
.css-treeview .selected { color: #a68589 !important;
color: #a68589 !important; }
} .css-treeview .unread-counter {
.css-treeview .unread-counter { color: #93a1a1;
color: #93a1a1; }
} .css-treeview li .tree-item:hover {
.css-treeview li .tree-item:hover { background: #ebebeb;
background: #ebebeb; }
} .css-treeview a {
.css-treeview a { color: #93a1a1;
color: #93a1a1; }
} .css-treeview a:hover {
.css-treeview a:hover { font-size: 1.02em;
font-size: 1.02em; }
} #uvTab {
#uvTab { margin-bottom: -23px;
margin-bottom: -23px; }
} #uvTab:hover {
#uvTab:hover { margin-bottom: 0;
margin-bottom: 0; }
} /* stuff */
/* stuff */ #feed-accordion .entry-external-link {
#feed-accordion .entry-external-link { position: absolute;
position: absolute; right: auto;
right: auto; margin-left: 15px;
margin-left: 15px; color: #c4bea6;
color: #c4bea6; }
} #feed-accordion .entry .entry-heading-link > .feed-name {
#feed-accordion .entry .entry-heading-link>.feed-name { font-size: 0;
font-size: 0; width: 50px;
width: 50px; margin-left: 35px;
margin-left: 35px; }
} #feed-accordion .entry .entry-heading-link > .feed-name .star {
#feed-accordion .entry .entry-heading-link>.feed-name .star { font-size: 1em;
font-size: 1em; }
} #feed-accordion .entry .entry-heading-link .entry-name {
#feed-accordion .entry .entry-heading-link .entry-name { margin-left: 100px;
margin-left: 100px; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name { font-size: 1em;
font-size: 1em; width: auto;
width: auto; float: right;
float: right; display: block;
display: block; position: relative;
position: relative; margin-right: 150px;
margin-right: 150px; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name img {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name img { margin-top: 0;
margin-top: 0; }
} #feed-accordion.expanded .entry .entry-heading-link .entry-name {
#feed-accordion.expanded .entry .entry-heading-link .entry-name { margin-left: 40px;
margin-left: 40px; }
} #feed-accordion.expanded .entry .entry-body .entry-body-content {
#feed-accordion.expanded .entry .entry-body .entry-body-content { padding-left: 0;
padding-left: 0; }
} #feed-accordion.expanded .entry .entry-body .entry-title {
#feed-accordion.expanded .entry .entry-body .entry-title { display: none;
display: none; }
} @media only screen and (max-width: 800px) {
@media only screen and (max-width: 800px) { #toolbar {
#toolbar { display: none;
display: none; }
} .sidebar-nav-fixed > .btn-group {
.sidebar-nav-fixed>.btn-group { display: none;
display: none; }
} .entryList {
.entryList { padding-top: 10px;
padding-top: 10px; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name { float: left;
float: left; width: 50px;
width: 50px; font-size: 0;
font-size: 0; position: initial;
position: initial; display: block;
display: block; margin-right: 0;
margin-right: 0; margin-right: initial;
margin-right: initial; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name .star {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name .star { font-size: 14px;
font-size: 14px; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name img {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name img { margin-top: -10px;
margin-top: -10px; }
} #feed-accordion.expanded .entry .entry-heading-link > .feed-name:after {
#feed-accordion.expanded .entry .entry-heading-link>.feed-name:after { content: "";
content: ''; display: block;
display: block; clear: left;
clear: left; }
} #feed-accordion.expanded .entry .entry-heading-link .entry-name {
#feed-accordion.expanded .entry .entry-heading-link .entry-name { margin-left: 55px;
margin-left: 55px; }
} }
} #feed-accordion:not(.expanded) .current .entry-heading {
#feed-accordion:not(.expanded) .current .entry-heading { background: #eee8d5;
background: #eee8d5; }
} #feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link {
#feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link { color: #a7a083 !important;
color: #a7a083 !important; font-style: normal !important;
font-style: normal !important; }
} #feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link .feed-name {
#feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link .feed-name { width: auto !important;
width: auto !important; font-size: 1em !important;
font-size: 1em !important; font-style: normal;
font-style: normal; color: #a7a083;
color: #a7a083; }
} #feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link .feed-name img {
#feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link .feed-name img { margin-top: 0;
margin-top: 0; }
} #feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link .entry-name {
#feed-accordion:not(.expanded) .current .entry-heading .entry-heading-link .entry-name { display: none;
display: none; }
} #feed-accordion.expanded .current .entry-heading {
#feed-accordion.expanded .current .entry-heading { background: #eee8d5;
background: #eee8d5; }
} #feed-accordion.expanded .current .entry-heading .entry-heading-link {
#feed-accordion.expanded .current .entry-heading .entry-heading-link { color: #a7a083 !important;
color: #a7a083 !important; font-style: normal !important;
font-style: normal !important; }
} #feed-accordion.expanded .current .entry-heading .entry-heading-link .feed-name {
#feed-accordion.expanded .current .entry-heading .entry-heading-link .feed-name { font-style: inherit;
font-style: inherit; color: inherit;
color: inherit; }
} #feed-accordion.expanded .current .entry-heading .entry-heading-link .entry-name {
#feed-accordion.expanded .current .entry-heading .entry-heading-link .entry-name { color: inherit !important;
color: inherit !important; }
} .nav-pills li.active a {
.nav-pills li.active a { color: #424345 !important;
color: #424345 !important; }
} blockquote {
blockquote { border-left: solid 5px #c4bea6 !important;
border-left: solid 5px #c4bea6 !important; }
} a[href^='http://da.feedsportal.com']
a[href^='http://da.feedsportal.com'] { {
display: none; display: none;
} }
br { br {
display: none; display: none;
} }
} }

View File

@@ -1,5 +1,5 @@
#theme-test { #theme-test {
body { body {
background-color: black; background-color: black;
} }
} }

View File

@@ -1,262 +1,260 @@
#theme-third { #theme-third {
* {
* { outline: 0;
outline: 0; text-decoration: none;
text-decoration: none; }
} .btn {
.btn { border: none;
border: none; }
} .btn-default,
.btn-default, .btn-primary,
.btn-primary, .btn-success,
.btn-success, .btn-info,
.btn-info, .btn-warning,
.btn-warning, .btn-danger {
.btn-danger { background: none;
background: none; text-shadow: none;
text-shadow: none; color: #424345;
color: #424345; }
} .btn-default:active,
.btn-default:active, .btn-primary:active,
.btn-primary:active, .btn-success:active,
.btn-success:active, .btn-info:active,
.btn-info:active, .btn-warning:active,
.btn-warning:active, .btn-danger:active,
.btn-danger:active, .btn-default.active,
.btn-default.active, .btn-primary.active,
.btn-primary.active, .btn-success.active,
.btn-success.active, .btn-info.active,
.btn-info.active, .btn-warning.active,
.btn-warning.active, .btn-danger.active {
.btn-danger.active { -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); -ms-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-ms-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); -o-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
-o-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.15) 0 1px 1px rgba(0,0,0,0.075); background: #e0e0e0;
background: #e0e0e0; }
} .btn-default {
.btn-default { background: #6e797c;
background: #6e797c; }
} .btn:hover {
.btn:hover { background: #e0e0e0;
background: #e0e0e0; }
} .dropdown-menu {
.dropdown-menu { background: #c7cbcc;
background: #c7cbcc; -webkit-border-radius: 4px;
-webkit-border-radius: 4px; -moz-border-radius: 4px;
-moz-border-radius: 4px; -ms-border-radius: 4px;
-ms-border-radius: 4px; -o-border-radius: 4px;
-o-border-radius: 4px; border-radius: 4px;
border-radius: 4px; border: none;
border: none; color: #424345;
color: #424345; }
} .dropdown-menu a {
.dropdown-menu a { color: inherit;
color: inherit; }
} .dropdown-menu .divider {
.dropdown-menu .divider { display: none;
display: none; }
} .btn-primary:hover {
.btn-primary:hover { color: #000;
color: #000; }
} .btn-primary:active {
.btn-primary:active { color: #000;
color: #000; }
} .btn-primary:active:hover {
.btn-primary:active:hover { color: #000;
color: #000; }
} .btn-default:hover {
.btn-default:hover { color: #000;
color: #000; }
} .btn-default:active {
.btn-default:active { color: #000;
color: #000; }
} .btn-default:active:hover {
.btn-default:active:hover { color: #000;
color: #000; }
} .btn {
.btn { -webkit-transition: all 400ms linear;
-webkit-transition: all 400ms linear; -moz-transition: all 400ms linear;
-moz-transition: all 400ms linear; -ms-transition: all 400ms linear;
-ms-transition: all 400ms linear; -o-transition: all 400ms linear;
-o-transition: all 400ms linear; transition: all 400ms linear;
transition: all 400ms linear; }
} input[ng-model="keywords"] {
input[ng-model='keywords'] { -webkit-transition: all 400ms linear;
-webkit-transition: all 400ms linear; -moz-transition: all 400ms linear;
-moz-transition: all 400ms linear; -ms-transition: all 400ms linear;
-ms-transition: all 400ms linear; -o-transition: all 400ms linear;
-o-transition: all 400ms linear; transition: all 400ms linear;
transition: all 400ms linear; }
} input[ng-model="keywords"]:focus {
input[ng-model='keywords']:focus { background: #c7cbcc;
background: #c7cbcc; }
} a[ng-click^="tab"] {
a[ng-click^='tab'] { -webkit-transition: all 390ms linear;
-webkit-transition: all 390ms linear; -moz-transition: all 390ms linear;
-moz-transition: all 390ms linear; -ms-transition: all 390ms linear;
-ms-transition: all 390ms linear; -o-transition: all 390ms linear;
-o-transition: all 390ms linear; transition: all 390ms linear;
transition: all 390ms linear; }
} a[ng-click^="tab"]:hover {
a[ng-click^='tab']:hover { color: #000;
color: #000; }
} .css-treeview li {
.css-treeview li { -webkit-transition: all 150ms linear;
-webkit-transition: all 150ms linear; -moz-transition: all 150ms linear;
-moz-transition: all 150ms linear; -ms-transition: all 150ms linear;
-ms-transition: all 150ms linear; -o-transition: all 150ms linear;
-o-transition: all 150ms linear; transition: all 150ms linear;
transition: all 150ms linear; }
} #uvTab {
#uvTab { -webkit-transition: all 260ms linear;
-webkit-transition: all 260ms linear; -moz-transition: all 260ms linear;
-moz-transition: all 260ms linear; -ms-transition: all 260ms linear;
-ms-transition: all 260ms linear; -o-transition: all 260ms linear;
-o-transition: all 260ms linear; transition: all 260ms linear;
transition: all 260ms linear; }
} #toolbar {
#toolbar { -webkit-transition: all 280ms linear;
-webkit-transition: all 280ms linear; -moz-transition: all 280ms linear;
-moz-transition: all 280ms linear; -ms-transition: all 280ms linear;
-ms-transition: all 280ms linear; -o-transition: all 280ms linear;
-o-transition: all 280ms linear; transition: all 280ms linear;
transition: all 280ms linear; }
} body {
body { background: #788587;
background: #788587; color: #424345;
color: #424345; }
} body a {
body a { color: #e0e0e0;
color: #e0e0e0; }
} body h3 {
body h3 { color: #424345;
color: #424345; }
} .toolbar {
.toolbar { background: #788587;
background: #788587; margin-top: -45px;
margin-top: -45px; }
} .toolbar:after {
.toolbar:after { display: block;
display: block; content: "...toolbar";
content: '...toolbar'; background: rgba(0, 0, 0, 0.07);
background: rgba(0,0,0,0.07); }
} .toolbar:hover {
.toolbar:hover { margin: 0;
margin: 0; }
} .toolbar:hover:after {
.toolbar:hover:after { display: none;
display: none; }
} .page-header {
.page-header { border: none;
border: none; }
} .entrylist-header {
.entrylist-header { border: none;
border: none; }
} .entrylist-header h3,
.entrylist-header h3, .entrylist-header a {
.entrylist-header a { margin: 0;
margin: 0; }
} .entryList {
.entryList { padding-top: 18px;
padding-top: 18px; }
} #feed-accordion .entry {
#feed-accordion .entry { border: none;
border: none; }
} #feed-accordion .unread .entry-heading {
#feed-accordion .unread .entry-heading { background: #c9c9c9;
background: #c9c9c9; }
} #feed-accordion .unread:nth-of-type(2n) .entry-heading {
#feed-accordion .unread:nth-of-type(2n) .entry-heading { background: #ddd;
background: #ddd; }
} #feed-accordion .unread .entry-heading:hover,
#feed-accordion .unread .entry-heading:hover, #feed-accordion .unread:nth-of-type(2n):hover {
#feed-accordion .unread:nth-of-type(2n):hover { background: #ebebeb;
background: #ebebeb; }
} #feed-accordion .entry-heading-link {
#feed-accordion .entry-heading-link { color: #5a6069 !important;
color: #5a6069 !important; }
} #feed-accordion .entry-heading-link:hover {
#feed-accordion .entry-heading-link:hover { color: #000;
color: #000; }
} #feed-accordion .entry-body {
#feed-accordion .entry-body { background: #c7cbcc;
background: #c7cbcc; padding-left: 15px;
padding-left: 15px; }
} #feed-accordion .entry-body a:not([popup]) {
#feed-accordion .entry-body a:not([popup]) { color: #a68589;
color: #a68589; }
} #feed-accordion .entry-body a:not([popup]):visited {
#feed-accordion .entry-body a:not([popup]):visited { color: #8d8e8e;
color: #8d8e8e; }
} #feed-accordion .entry-body img {
#feed-accordion .entry-body img { -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); -moz-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); -ms-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-ms-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); -o-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
-o-box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); }
} #feed-accordion .highlight-search {
#feed-accordion .highlight-search { background: inherit;
background: inherit; }
} #feed-accordion .entry-buttons {
#feed-accordion .entry-buttons { background: #a68589;
background: #a68589; margin-left: -15px;
margin-left: -15px; border: none;
border: none; }
} #feed-accordion.expanded .entry {
#feed-accordion.expanded .entry { -webkit-box-shadow: none;
-webkit-box-shadow: none; -moz-box-shadow: none;
-moz-box-shadow: none; -ms-box-shadow: none;
-ms-box-shadow: none; -o-box-shadow: none;
-o-box-shadow: none; box-shadow: none;
box-shadow: none; border: none;
border: none; margin-bottom: 30px;
margin-bottom: 30px; }
} input[ng-model="keywords"] {
input[ng-model='keywords'] { border: none;
border: none; height: 32px;
height: 32px; background: #9ba8aa;
background: #9ba8aa; }
} .css-treeview .selected {
.css-treeview .selected { color: #2c4967;
color: #2c4967; text-decoration: underline;
text-decoration: underline; }
} .css-treeview .unread-counter {
.css-treeview .unread-counter { color: #222;
color: #222; }
} .css-treeview li .tree-item:hover {
.css-treeview li .tree-item:hover { background: #ebebeb;
background: #ebebeb; }
} .css-treeview a {
.css-treeview a { color: #5a6069;
color: #5a6069; }
} .css-treeview a:hover {
.css-treeview a:hover { font-size: 1.02em;
font-size: 1.02em; }
} .css-treeview a:hover img {
.css-treeview a:hover img { -webkit-border-radius: 1px;
-webkit-border-radius: 1px; -moz-border-radius: 1px;
-moz-border-radius: 1px; -ms-border-radius: 1px;
-ms-border-radius: 1px; -o-border-radius: 1px;
-o-border-radius: 1px; border-radius: 1px;
border-radius: 1px; opacity: 1;
opacity: 1; }
} .css-treeview img {
.css-treeview img { -webkit-border-radius: 4px;
-webkit-border-radius: 4px; -moz-border-radius: 4px;
-moz-border-radius: 4px; -ms-border-radius: 4px;
-ms-border-radius: 4px; -o-border-radius: 4px;
-o-border-radius: 4px; border-radius: 4px;
border-radius: 4px; opacity: 0.85;
opacity: 0.85; }
} #uvTab {
#uvTab { margin-bottom: -23px;
margin-bottom: -23px; }
} #uvTab:hover {
#uvTab:hover { margin-bottom: 0;
margin-bottom: 0; }
}
} }

View File

@@ -1,38 +1,66 @@
<li> <li>
<div class="pointer tree-item" ng-if="showLabel" ng-class="getClass(level - 1)" droppable="node"> <div class="pointer tree-item" ng-if="showLabel" ng-class="getClass(level - 1)" droppable="node">
<div class="dropdown pull-right"> <div class="dropdown pull-right">
<div class="pull-right" ng-click="showCategoryDetails(node.id, node.isTag)"> <div class="pull-right" ng-click="showCategoryDetails(node.id, node.isTag)">
<i class="icon-wrench config pointer"></i> <i class="icon-wrench config pointer"></i>
</div> </div>
</div> </div>
<div class="category-link" ng-click="categoryClicked(node.id, node.isTag)" ng-dblclick="showCategoryDetails(node.id, node.isTag)"> <div class="category-link" ng-click="categoryClicked(node.id, node.isTag)" ng-dblclick="showCategoryDetails(node.id, node.isTag)">
<span class="fldr"> <span class="fldr">
<i ng-class="{'icon-caret-right': !node.expanded, 'icon-caret-down': node.expanded}" ng-click="toggleCategory(node, $event)" <i
ng-show="showChildren"></i> ng-class="{'icon-caret-right': !node.expanded, 'icon-caret-down': node.expanded}"
<i ng-class="{'icon-star' : node.id == 'starred', 'icon-inbox': node.id == 'all', 'icon-tag' : node.isTag}" ng-show="!showChildren"></i> ng-click="toggleCategory(node, $event)"
</span> ng-show="showChildren"
<span ng-class="{selected: (node.id == selectedId && (node.isTag ? selectedType == 'tag' : selectedType == 'category'))}"> ></i>
<span ng-class="{unread: unreadCount({category:node})}" class="bidi-embed"> {{categoryLabel(node)}} </span> <i
<span class="unread-counter"> {{categoryCountLabel(node)}} </span> ng-class="{'icon-star' : node.id == 'starred', 'icon-inbox': node.id == 'all', 'icon-tag' : node.isTag}"
</span> ng-show="!showChildren"
</div> ></i>
</div> </span>
<ul ng-show="node.expanded && showChildren"> <span ng-class="{selected: (node.id == selectedId && (node.isTag ? selectedType == 'tag' : selectedType == 'category'))}">
<recursive> <category ng-repeat="child in node.children" <span ng-class="{unread: unreadCount({category:node})}" class="bidi-embed">{{categoryLabel(node)}}</span>
ng-show="settingsService.settings.showRead == true || unreadCount({category:node}) > 0" node="child" level="level + 1" <span class="unread-counter">{{categoryCountLabel(node)}}</span>
selected-type="selectedType" selected-id="selectedId" show-label="true" show-children="true" </span>
unread-count="unreadCount({category:category})"> </category> </recursive> </div>
<li ng-repeat="feed in node.feeds" ng-class="getClass(level)" class="tree-item" draggable="feed" droppable="feed" </div>
ng-show="settingsService.settings.showRead == true || feed.unread > 0"> <ul ng-show="node.expanded && showChildren">
<div class="pull-right" ng-click="showFeedDetails(feed)"> <recursive>
<i class="icon-wrench config pointer"></i> <category
</div> ng-repeat="child in node.children"
<a ng-click="feedClicked(feed.id, $event)" ng-dblclick="showFeedDetails(feed)" class="feed-link" href="{{feed.feedLink}}" target="_blank" ng-show="settingsService.settings.showRead == true || unreadCount({category:node}) > 0"
ng-class="{error: feed.message && feed.errorCount > 10, selected: (feed.id == selectedId && selectedType == 'feed') }"> node="child"
<favicon url="feed.iconUrl" /> level="level + 1"
<span ng-class="{unread: feed.unread}" class="bidi-embed"> {{feed.name}} </span> selected-type="selectedType"
<span class="unread-counter"> {{feedCountLabel(feed)}} </span> selected-id="selectedId"
</a> show-label="true"
</li> show-children="true"
</ul> unread-count="unreadCount({category:category})"
>
</category>
</recursive>
<li
ng-repeat="feed in node.feeds"
ng-class="getClass(level)"
class="tree-item"
draggable="feed"
droppable="feed"
ng-show="settingsService.settings.showRead == true || feed.unread > 0"
>
<div class="pull-right" ng-click="showFeedDetails(feed)">
<i class="icon-wrench config pointer"></i>
</div>
<a
ng-click="feedClicked(feed.id, $event)"
ng-dblclick="showFeedDetails(feed)"
class="feed-link"
href="{{feed.feedLink}}"
target="_blank"
ng-class="{error: feed.message && feed.errorCount > 10, selected: (feed.id == selectedId && selectedType == 'feed') }"
>
<favicon url="feed.iconUrl" />
<span ng-class="{unread: feed.unread}" class="bidi-embed">{{feed.name}}</span>
<span class="unread-counter">{{feedCountLabel(feed)}}</span>
</a>
</li>
</ul>
</li> </li>

View File

@@ -1,29 +1,33 @@
<div ng-controller="FeedSearchCtrl"> <div ng-controller="FeedSearchCtrl">
<div modal="feedSearchModal" close="close()" options="{dialogClass: 'modal feed-search-dialog'}"> <div modal="feedSearchModal" close="close()" options="{dialogClass: 'modal feed-search-dialog'}">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" ng-click="close()">&times;</button> <button type="button" class="close" ng-click="close()">&times;</button>
<h4> <h4>
<input ng-model="filter" class="filter-input" <input
ui-keydown="{'up': 'focusPrevious($event)', 'down': 'focusNext($event)', 'enter': 'openFocused()' }" placeholder="'feedsearch.hint' | translate" ng-model="filter"
focus="feedSearchModal"> class="filter-input"
</h4> ui-keydown="{'up': 'focusPrevious($event)', 'down': 'focusNext($event)', 'enter': 'openFocused()' }"
<small>{{ 'feedsearch.help' | translate }}</small> placeholder="{{'feedsearch.hint' | translate}}"
</div> focus="feedSearchModal"
<div class="modal-body"> />
<strong>{{ 'feedsearch.result_prefix' | translate }}</strong> </h4>
<span ng-repeat="feed in (filtered = (CategoryService.feeds | filter:{name: filter} | limitTo:40))"> <small>{{ 'feedsearch.help' | translate }}</small>
<span ng-class="{block: filter, focus: focus.id == feed.id}" class="feed-link"> </div>
<a class=" pointer" ng-click="goToFeed(feed.id)"> <div class="modal-body">
<favicon url="feed.iconUrl" /> <strong>{{ 'feedsearch.result_prefix' | translate }}</strong>
&nbsp;{{feed.name}} <span ng-repeat="feed in (filtered = (CategoryService.feeds | filter:{name: filter} | limitTo:40))">
</a> <span ng-class="{block: filter, focus: focus.id == feed.id}" class="feed-link">
<span ng-show="!filter && !$last">&bull;</span> <a class="pointer" ng-click="goToFeed(feed.id)">
</span> <favicon url="feed.iconUrl" />
</span> &nbsp;{{feed.name}}
</div> </a>
</div> <span ng-show="!filter && !$last">&bull;</span>
</div> </span>
</div> </span>
</div> </div>
</div>
</div>
</div>
</div>

View File

@@ -1,3 +1,3 @@
<div ng-controller="FooterController"> <div ng-controller="FooterController">
<iframe ng-if="subToMeUrl" style="display: none;" ng-src='{{subToMeUrl}}'></iframe> <iframe ng-if="subToMeUrl" style="display: none" ng-src="{{subToMeUrl}}"></iframe>
</div> </div>

Some files were not shown because too many files have changed in this diff Show More