├── .gitignore
├── Code
├── .gitignore
├── CocoaChinaPlus.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── CocoaChinaPlus.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── CocoaChinaPlus.xcscmblueprint
├── CocoaChinaPlus
│ ├── AppDef.swift
│ ├── AppDelegate.swift
│ ├── Application
│ │ ├── Business
│ │ │ ├── CocoaChina
│ │ │ │ ├── Article
│ │ │ │ │ └── CCPArticleViewController.swift
│ │ │ │ ├── BBS
│ │ │ │ │ ├── CCPBBSParser.swift
│ │ │ │ │ ├── CCPBBSViewController.swift
│ │ │ │ │ └── Edition
│ │ │ │ │ │ ├── CCPBBSEditionParser.swift
│ │ │ │ │ │ └── CCPBBSEditionViewController.swift
│ │ │ │ ├── Chat
│ │ │ │ │ └── CChatListViewController.swift
│ │ │ │ ├── Collection
│ │ │ │ │ └── CCCollectionViewController.swift
│ │ │ │ ├── Home
│ │ │ │ │ ├── CCPHomePage.swift
│ │ │ │ │ ├── CCPHomeViewController.swift
│ │ │ │ │ ├── CCPTableArray.swift
│ │ │ │ │ └── ZXGuideViewController
│ │ │ │ │ │ └── ZXGuideViewController.swift
│ │ │ │ ├── Profile
│ │ │ │ │ ├── CCAboutViewController.swift
│ │ │ │ │ └── CCProfileViewController.swift
│ │ │ │ └── Search
│ │ │ │ │ └── CCSearchViewController.swift
│ │ │ └── Util
│ │ │ │ ├── Controller
│ │ │ │ └── ZXArticleTableViewController
│ │ │ │ │ └── CCArticleTableViewController.swift
│ │ │ │ ├── Helper
│ │ │ │ ├── Base
│ │ │ │ │ ├── String+.swift
│ │ │ │ │ ├── UIImage+.swift
│ │ │ │ │ └── UINavigationItem+.swift
│ │ │ │ ├── CCSqlite
│ │ │ │ │ ├── CCDataBase.swift
│ │ │ │ │ ├── DAO
│ │ │ │ │ │ └── CCArticleDAO.swift
│ │ │ │ │ ├── Manager
│ │ │ │ │ │ └── CCTableManager.swift
│ │ │ │ │ └── Service
│ │ │ │ │ │ ├── CCArticleCache.swift
│ │ │ │ │ │ └── CCArticleService.swift
│ │ │ │ ├── CCURLHelper.swift
│ │ │ │ ├── HTMLModel
│ │ │ │ │ ├── CCHTMLModelHandler.swift
│ │ │ │ │ ├── Model
│ │ │ │ │ │ └── CCArticleModel.swift
│ │ │ │ │ └── Parser
│ │ │ │ │ │ ├── CCHTMLParser+HomePage.swift
│ │ │ │ │ │ ├── CCHTMLParser+OptionPage.swift
│ │ │ │ │ │ ├── CCHTMLParser+SearchPage.swift
│ │ │ │ │ │ └── CCHTMLParser.swift
│ │ │ │ ├── VenderExt.swift
│ │ │ │ └── ZXURLNavigator
│ │ │ │ │ ├── NSDate+String.swift
│ │ │ │ │ ├── NSURL+.swift
│ │ │ │ │ ├── ZXBaseViewController.swift
│ │ │ │ │ ├── ZXNavigationController.swift
│ │ │ │ │ └── ZXURLNavigator.swift
│ │ │ │ └── View
│ │ │ │ ├── CCArticleTableView
│ │ │ │ ├── CCArticleTableView.swift
│ │ │ │ └── CCArticleTableViewCell.swift
│ │ │ │ ├── CCTableViewCell
│ │ │ │ └── CCTableViewCell.swift
│ │ │ │ ├── CCocoaChinaWebView
│ │ │ │ ├── CCCocoaChinaWebView.swift
│ │ │ │ ├── ZXHighlightWebView.swift
│ │ │ │ ├── ccstyle.css
│ │ │ │ ├── highlight
│ │ │ │ │ ├── highlight.pack.js
│ │ │ │ │ └── styles
│ │ │ │ │ │ ├── agate.css
│ │ │ │ │ │ ├── androidstudio.css
│ │ │ │ │ │ ├── arta.css
│ │ │ │ │ │ ├── ascetic.css
│ │ │ │ │ │ ├── atelier-cave.dark.css
│ │ │ │ │ │ ├── atelier-cave.light.css
│ │ │ │ │ │ ├── atelier-dune.dark.css
│ │ │ │ │ │ ├── atelier-dune.light.css
│ │ │ │ │ │ ├── atelier-estuary.dark.css
│ │ │ │ │ │ ├── atelier-estuary.light.css
│ │ │ │ │ │ ├── atelier-forest.dark.css
│ │ │ │ │ │ ├── atelier-forest.light.css
│ │ │ │ │ │ ├── atelier-heath.dark.css
│ │ │ │ │ │ ├── atelier-heath.light.css
│ │ │ │ │ │ ├── atelier-lakeside.dark.css
│ │ │ │ │ │ ├── atelier-lakeside.light.css
│ │ │ │ │ │ ├── atelier-plateau.dark.css
│ │ │ │ │ │ ├── atelier-plateau.light.css
│ │ │ │ │ │ ├── atelier-savanna.dark.css
│ │ │ │ │ │ ├── atelier-savanna.light.css
│ │ │ │ │ │ ├── atelier-seaside.dark.css
│ │ │ │ │ │ ├── atelier-seaside.light.css
│ │ │ │ │ │ ├── atelier-sulphurpool.dark.css
│ │ │ │ │ │ ├── atelier-sulphurpool.light.css
│ │ │ │ │ │ ├── brown_paper.css
│ │ │ │ │ │ ├── brown_papersq.png
│ │ │ │ │ │ ├── codepen-embed.css
│ │ │ │ │ │ ├── color-brewer.css
│ │ │ │ │ │ ├── dark.css
│ │ │ │ │ │ ├── darkula.css
│ │ │ │ │ │ ├── default.css
│ │ │ │ │ │ ├── docco.css
│ │ │ │ │ │ ├── far.css
│ │ │ │ │ │ ├── foundation.css
│ │ │ │ │ │ ├── github-gist.css
│ │ │ │ │ │ ├── github.css
│ │ │ │ │ │ ├── googlecode.css
│ │ │ │ │ │ ├── grayscale.css
│ │ │ │ │ │ ├── hopscotch.css
│ │ │ │ │ │ ├── hybrid.css
│ │ │ │ │ │ ├── idea.css
│ │ │ │ │ │ ├── ir_black.css
│ │ │ │ │ │ ├── kimbie.dark.css
│ │ │ │ │ │ ├── kimbie.light.css
│ │ │ │ │ │ ├── magula.css
│ │ │ │ │ │ ├── mono-blue.css
│ │ │ │ │ │ ├── monokai.css
│ │ │ │ │ │ ├── monokai_sublime.css
│ │ │ │ │ │ ├── obsidian.css
│ │ │ │ │ │ ├── paraiso.dark.css
│ │ │ │ │ │ ├── paraiso.light.css
│ │ │ │ │ │ ├── pojoaque.css
│ │ │ │ │ │ ├── pojoaque.jpg
│ │ │ │ │ │ ├── railscasts.css
│ │ │ │ │ │ ├── rainbow.css
│ │ │ │ │ │ ├── school_book.css
│ │ │ │ │ │ ├── school_book.png
│ │ │ │ │ │ ├── solarized_dark.css
│ │ │ │ │ │ ├── solarized_light.css
│ │ │ │ │ │ ├── sunburst.css
│ │ │ │ │ │ ├── tomorrow-night-blue.css
│ │ │ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ │ │ ├── tomorrow-night-eighties.css
│ │ │ │ │ │ ├── tomorrow-night.css
│ │ │ │ │ │ ├── tomorrow.css
│ │ │ │ │ │ ├── vs.css
│ │ │ │ │ │ ├── xcode.css
│ │ │ │ │ │ └── zenburn.css
│ │ │ │ └── jquery-1.6.4.min.js
│ │ │ │ ├── ZXCircleView
│ │ │ │ └── ZXCircleView.swift
│ │ │ │ ├── ZXCuteView
│ │ │ │ └── ZXCuteView.swift
│ │ │ │ ├── ZXOptionView
│ │ │ │ └── ZXOptionView.swift
│ │ │ │ ├── ZXPageControl
│ │ │ │ └── ZXPageControl.swift
│ │ │ │ └── ZXPagingView
│ │ │ │ └── ZXPagingView.swift
│ │ ├── Note
│ │ │ └── Note.markdown
│ │ ├── Vender
│ │ │ └── RxDataSourceStarterKit
│ │ │ │ ├── Changeset.swift
│ │ │ │ ├── DataSources
│ │ │ │ ├── RxCollectionViewSectionedAnimatedDataSource.swift
│ │ │ │ ├── RxCollectionViewSectionedDataSource.swift
│ │ │ │ ├── RxCollectionViewSectionedReloadDataSource.swift
│ │ │ │ ├── RxTableViewSectionedAnimatedDataSource.swift
│ │ │ │ ├── RxTableViewSectionedDataSource.swift
│ │ │ │ └── RxTableViewSectionedReloadDataSource.swift
│ │ │ │ ├── Differentiator.swift
│ │ │ │ ├── README.md
│ │ │ │ ├── RxDataSourceStarterKit.swift
│ │ │ │ ├── SectionModel.swift
│ │ │ │ ├── SectionModelType.swift
│ │ │ │ └── SectionedViewType.swift
│ │ └── ZXTabBarController.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── icon@2x.png
│ │ │ ├── icon_29pt.png
│ │ │ ├── icon_29pt@2x-1.png
│ │ │ ├── icon_29pt@2x.png
│ │ │ ├── icon_29pt@3x.png
│ │ │ ├── icon_40pt.png
│ │ │ ├── icon_40pt@2x-1.png
│ │ │ ├── icon_40pt@2x.png
│ │ │ ├── icon_40pt@3x.png
│ │ │ ├── icon_60pt@2x.png
│ │ │ ├── icon_60pt@3x.png
│ │ │ ├── icon_76pt.png
│ │ │ └── icon_76pt@2x.png
│ │ ├── Contents.json
│ │ ├── Guide
│ │ │ ├── Contents.json
│ │ │ ├── guide_page_1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── iPhone 6 Black + IMG_2745.png
│ │ │ ├── guide_page_2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── iPhone 6 Black + IMG_2746.png
│ │ │ ├── guide_page_3.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── iPhone 6 Black + IMG_2747.png
│ │ │ └── guide_page_4.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── iPhone 6 Black + 2.pic_hd.png
│ │ ├── about.imageset
│ │ │ ├── Contents.json
│ │ │ └── about.png
│ │ ├── chengxuyuan.imageset
│ │ │ ├── Contents.json
│ │ │ └── chengxuyuan.png
│ │ ├── ic_detail_back.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_detail_back@2x.png
│ │ │ └── ic_detail_back@3x.png
│ │ ├── navbar
│ │ │ ├── Contents.json
│ │ │ ├── nav_cancel.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── nav_cancel.png
│ │ │ │ └── nav_cancel@3x.png
│ │ │ ├── nav_like_no.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── nav_like_no@2x.png
│ │ │ │ └── nav_like_no@3x.png
│ │ │ ├── nav_like_yes.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── nav_like_yes@2x.png
│ │ │ │ └── nav_like_yes@3x.png
│ │ │ ├── nav_search.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── nav_search.png
│ │ │ │ └── nav_search@3x.png
│ │ │ └── share.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── share@2x.png
│ │ │ │ └── share@3x.png
│ │ ├── sharetest.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon@2x.png
│ │ ├── splash
│ │ │ ├── Contents.json
│ │ │ └── icon_light.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_light@2x.png
│ │ │ │ └── icon_light@3x.png
│ │ ├── tabbar
│ │ │ ├── Contents.json
│ │ │ ├── bbs.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Presentation@2x.png
│ │ │ │ └── Presentation@3x.png
│ │ │ ├── home.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Home.png
│ │ │ │ └── Home@3x.png
│ │ │ ├── tabbar_chat.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── tabbar_chat@2x.png
│ │ │ │ └── tabbar_chat@3x.png
│ │ │ └── tabbar_profile.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── tabbar_profile@2x.png
│ │ │ │ └── tabbar_profile@3x.png
│ │ └── top.imageset
│ │ │ ├── Contents.json
│ │ │ └── top.png
│ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ ├── CCAppConfiguration.swift
│ ├── CCRemoteNotificationHandler.swift
│ ├── CocoaChinaPlus-Bridging-Header.h
│ ├── Info.plist
│ ├── Localizable.strings
│ └── PushConfig.plist
├── Podfile
├── Podfile.lock
└── R.generated.swift
├── LICENSE
├── README.md
├── UI设计
├── about.sketch
├── all_icon.sketch
├── appstore
│ ├── 3.5-article.png
│ ├── 3.5-bbs.png
│ ├── 3.5-chat.png
│ ├── 3.5-code.png
│ ├── 3.5-home.png
│ ├── 3.5-profile.png
│ ├── 4-article.png
│ ├── 4-bbs.png
│ ├── 4-chat.png
│ ├── 4-code.png
│ ├── 4-home.png
│ ├── 4-profile.png
│ ├── 4.7-article.png
│ ├── 4.7-bbs.png
│ ├── 4.7-chat.png
│ ├── 4.7-code.png
│ ├── 4.7-home.png
│ ├── 4.7-profile.png
│ ├── article-55.png
│ ├── bbs-55.png
│ ├── code-55.png
│ ├── home-55.png
│ ├── jiaoliu-55.png
│ └── profile-55.png
├── cocoachinaplus.sketch
├── iPhone 6 Black + 2.pic_hd.png
├── iPhone 6 Black + IMG_2745.png
├── iPhone 6 Black + IMG_2746.png
├── iPhone 6 Black + IMG_2747.png
├── icon.sketch
├── icon
│ ├── iTunesArtwork@2x.png
│ ├── iTunesAtWork.png
│ ├── icon_29pt.png
│ ├── icon_29pt@2x.png
│ ├── icon_29pt@3x.png
│ ├── icon_40pt.png
│ ├── icon_40pt@2x.png
│ ├── icon_40pt@3x.png
│ ├── icon_60pt@2x.png
│ ├── icon_60pt@3x.png
│ ├── icon_76pt.png
│ └── icon_76pt@2x.png
└── 同步推
│ ├── 4-article_meitu_4.jpg
│ ├── 4-bbs_meitu_5.jpg
│ ├── 4-chat_meitu_6.jpg
│ ├── 4-code_meitu_7.jpg
│ ├── 4-home_meitu_8.jpg
│ └── icon.png
└── 脚本
└── 打渠道包.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | build/
4 | *.pbxuser
5 | !default.pbxuser
6 | *.mode1v3
7 | !default.mode1v3
8 | *.mode2v3
9 | !default.mode2v3
10 | *.perspectivev3
11 | !default.perspectivev3
12 | xcuserdata
13 | *.xccheckout
14 | *.moved-aside
15 | DerivedData
16 | *.hmap
17 | *.ipa
18 | *.xcuserstate
19 |
20 | # CocoaPods
21 | #
22 | # We recommend against adding the Pods directory to your .gitignore. However
23 | # you should judge for yourself, the pros and cons are mentioned at:
24 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
25 | #
26 | Code/Pods/
27 |
28 | # Carthage
29 | #
30 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
31 | # Carthage/Checkouts
32 |
33 | Carthage/Build
34 |
--------------------------------------------------------------------------------
/Code/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | .DS_Store
3 | */build/*
4 | *.pbxuser
5 | !default.pbxuser
6 | *.mode1v3
7 | !default.mode1v3
8 | *.mode2v3
9 | !default.mode2v3
10 | *.perspectivev3
11 | !default.perspectivev3
12 | xcuserdata
13 | *.moved-aside
14 | DerivedData
15 | .idea/
16 | *.hmap
17 |
18 | #CocoaPods
19 | Pods
20 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus.xcworkspace/xcshareddata/CocoaChinaPlus.xcscmblueprint:
--------------------------------------------------------------------------------
1 | {
2 | "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "C62255808153EEEE009D1828449E2B5B0A6F05B5",
3 | "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
4 |
5 | },
6 | "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
7 | "127B9CE83113B9BEDA9FDF4200E01B72E67658A5" : 0,
8 | "C62255808153EEEE009D1828449E2B5B0A6F05B5" : 0,
9 | "BF1F56C483977AC36F575A9C50FB74A7EFF41C69" : 9223372036854775807
10 | },
11 | "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "9FCB355E-B69A-4847-A18D-6D88743EFB7D",
12 | "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
13 | "127B9CE83113B9BEDA9FDF4200E01B72E67658A5" : "CocoaChinaPlus\/Code\/CocoaChinaPlus\/Application\/Vender\/vender-lib\/",
14 | "C62255808153EEEE009D1828449E2B5B0A6F05B5" : "CocoaChinaPlus\/",
15 | "BF1F56C483977AC36F575A9C50FB74A7EFF41C69" : ""
16 | },
17 | "DVTSourceControlWorkspaceBlueprintNameKey" : "CocoaChinaPlus",
18 | "DVTSourceControlWorkspaceBlueprintVersion" : 204,
19 | "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "Code\/CocoaChinaPlus.xcworkspace",
20 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
21 | {
22 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "git.oschina.net:zixun107\/vender-lib.git",
23 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
24 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "127B9CE83113B9BEDA9FDF4200E01B72E67658A5"
25 | },
26 | {
27 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "git.oschina.net:zixunapp\/AppSaber-MAC.git",
28 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
29 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "BF1F56C483977AC36F575A9C50FB74A7EFF41C69"
30 | },
31 | {
32 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "github.com:zixun\/CocoaChinaPlus.git",
33 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
34 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "C62255808153EEEE009D1828449E2B5B0A6F05B5"
35 | }
36 | ]
37 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/AppDef.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDef.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/8/26.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import SwiftyUserDefaults
11 |
12 | extension DefaultsKeys {
13 | //标志导航页是否显示过
14 | static let isGuideShowed = DefaultsKey("isGuideShowed")
15 |
16 | }
17 |
18 | class CCAppKey: NSObject {
19 |
20 | static let appUM: String = "55dd4329e0f55a36b3003830"
21 |
22 | static let appWeChat:(appkey:String,secret:String) =
23 | ("wx7880b78e750cb34f",
24 | "b0cabfd6d2d6990e12f433a4c41c9227")
25 |
26 | static let appSina:(appkey:String,secret:String) =
27 | ("640791572",
28 | "98e198bb7ed319b4326371be09daaf55")
29 |
30 | static let appRongyun:(appkey:String,secret:String) =
31 | ("x18ywvqf8uxvc",
32 | "Kjg5SscjVZ3")
33 | }
34 |
35 | func kADText() -> String {
36 | return "打造体验最好的第三方CocoaChina客户端\n\nCocoaChina+"
37 | }
38 |
39 | extension UIColor {
40 | static func assistColor() ->UIColor {
41 | return UIColor(hex:0x00B9FF)
42 | }
43 |
44 | static func appGrayColor() ->UIColor {
45 | return UIColor(hex:0xB4B4B4)
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/CocoaChina/BBS/CCPBBSParser.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCPBBSParser.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/8/12.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import Alamofire
11 | import Ji
12 | import Log4G
13 |
14 | private let baseURL = "http://www.cocoachina.com/bbs/3g"
15 |
16 | // MARK: CCPBBSParser
17 | class CCPBBSParser {
18 |
19 | //解析
20 | class func parserBBS(_ result: @escaping (_ model: CCPBBSModel) -> Void) {
21 |
22 | _ = CCRequest(.get, baseURL).responseJi { (ji, error) -> Void in
23 | guard let nodes = ji?.xPath("//li[@class='articlelist clearfix']") else {
24 | return
25 | }
26 |
27 | //檢查資料是否正確, 將正確的部分建立 model
28 | var options = [CCPBBSOptionModel]()
29 | for node in nodes {
30 | guard
31 | let titleNode = node.xPath(".//p[@class='title bbs_title']/a").first,
32 | let contentNode = node.xPath(".//p[@class='bbs_content']").first,
33 | let title = titleNode.content,
34 | let content = contentNode.content,
35 | let urlString = titleNode["href"]
36 | else {
37 | Log4G.warning("資料毀損")
38 | continue
39 | }
40 |
41 | //建立一個新的 option model
42 | let option = CCPBBSOptionModel(title: title, content: content, urlString: urlString)
43 | options.append(option)
44 | }
45 | let model = CCPBBSModel(options: options)
46 |
47 | //回調
48 | result(model)
49 | }
50 | }
51 |
52 | }
53 |
54 | // MARK: CCPBBSModel
55 | class CCPBBSModel {
56 |
57 | var options = [CCPBBSOptionModel]()
58 |
59 | convenience init(options: [CCPBBSOptionModel]) {
60 | self.init()
61 | self.options = options
62 | }
63 |
64 | }
65 |
66 | // MARK: CCPBBSOptionModel
67 | class CCPBBSOptionModel {
68 |
69 | var title = ""
70 | var content = ""
71 | var urlString = ""
72 |
73 | convenience init(title: String, content: String, urlString: String) {
74 | self.init()
75 | self.title = title
76 | self.content = content
77 | self.urlString = baseURL + "/" + urlString
78 | }
79 |
80 | }
81 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/CocoaChina/Chat/CChatListViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CChatListViewController.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by chenyl on 15/9/30.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MBProgressHUD
11 | import SwiftyUserDefaults
12 | import Neon
13 | import RxSwift
14 | import AppBaseKit
15 |
16 | class CChatListViewController: ZXBaseViewController {
17 |
18 |
19 | fileprivate let disposeBag = DisposeBag()
20 |
21 | init() {
22 | super.init(navigatorURL: URL(string: "go/ccp/chatlist")!, query: Dictionary())
23 | }
24 |
25 | override func viewDidAppear(_ animated: Bool) {
26 | super.viewDidAppear(animated)
27 | UIAlertView.quickTip(message: "请加QQ群:516326791")
28 |
29 | }
30 | override func viewWillLayoutSubviews() {
31 | super.viewWillLayoutSubviews()
32 | }
33 |
34 |
35 | required init?(coder aDecoder: NSCoder) {
36 | fatalError("init(coder:) has not been implemented")
37 | }
38 |
39 | required init(navigatorURL URL: URL?, query: Dictionary) {
40 | fatalError("init(navigatorURL:query:) has not been implemented")
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/CocoaChina/Collection/CCCollectionViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCCollectionViewController.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/9/21.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import MBProgressHUD
11 |
12 | class CCCollectionViewController: CCArticleTableViewController {
13 |
14 | fileprivate var dataSource : [CCArticleModel] = []
15 | fileprivate var currentIndex : Int = 0
16 | fileprivate var type : CCArticleType!
17 |
18 | required init(navigatorURL URL: URL?, query: Dictionary) {
19 | var query2 = query
20 | query2["forceHighlight"] = "1"
21 | super.init(navigatorURL: URL, query: query2)
22 |
23 | self.type = query["type"] == "0" ? .all : .collection
24 | self.dataSource = CCArticleService.queryArticles(type, index: currentIndex)
25 | }
26 |
27 | required init?(coder aDecoder: NSCoder) {
28 | fatalError("init(coder:) has not been implemented")
29 | }
30 |
31 | override func viewDidLoad() {
32 | super.viewDidLoad()
33 |
34 | self.tableView.append(self.dataSource)
35 |
36 | self.tableView.addPullToRefresh(actionHandler: {[unowned self] () -> Void in
37 | MBProgressHUD.showAdded(to: self.view, animated: true)
38 | self.currentIndex = 0
39 | self.dataSource = CCArticleService.queryArticles(self.type, index:self.currentIndex)
40 | self.tableView.reload(self.dataSource)
41 | self.tableView.pullToRefreshView.stopAnimating()
42 | self.tableView.infiniteScrollingView.stopAnimating()
43 | MBProgressHUD.hide(for: self.view, animated: true)
44 | })
45 |
46 | self.tableView.addInfiniteScrolling(actionHandler: {[unowned self] () -> Void in
47 | self.currentIndex += 1
48 | let model = CCArticleService.queryArticles(self.type, index: self.currentIndex)
49 | self.tableView.append(model)
50 | self.tableView.infiniteScrollingView.stopAnimating()
51 | })
52 | }
53 |
54 | override func viewWillLayoutSubviews() {
55 | super.viewWillLayoutSubviews()
56 |
57 | }
58 |
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/CocoaChina/Home/CCPHomePage.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCPHomePage.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by 子循 on 15/7/19.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | // MARK: CCPHomePage
12 | class CCPHomePage: ZXPage {
13 |
14 | fileprivate weak var internalDisplayView: UIView?
15 |
16 | func setDisplayView(_ view: UIView?) {
17 |
18 | //清除原先的 internalDisplayView
19 | if let displayView = self.internalDisplayView {
20 | displayView.removeFromSuperview()
21 | }
22 |
23 | //設定為新的 view
24 | if let unwrapView = view {
25 | unwrapView.frame = self.bounds
26 | self.contentView.addSubview(unwrapView)
27 | self.internalDisplayView = unwrapView
28 | }
29 | }
30 |
31 | override func layoutSubviews() {
32 | super.layoutSubviews()
33 | self.internalDisplayView?.frame = self.bounds
34 | }
35 |
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/CocoaChina/Profile/CCAboutViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCAboutViewController.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/10/3.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class CCAboutViewController: ZXBaseViewController {
12 |
13 | fileprivate var scrollView:UIScrollView!
14 |
15 | required init(navigatorURL URL: URL?, query: Dictionary) {
16 | super.init(navigatorURL: URL, query: query)
17 | }
18 |
19 | required init?(coder aDecoder: NSCoder) {
20 | fatalError("init(coder:) has not been implemented")
21 | }
22 |
23 | override func viewDidLoad() {
24 |
25 | super.viewDidLoad()
26 | self.scrollView = UIScrollView(frame: self.view.bounds)
27 | self.scrollView.delegate = self
28 | self.view.addSubview(self.scrollView)
29 |
30 | let imageview = UIImageView(image: R.image.about())
31 | imageview.frame = self.scrollView.bounds
32 | imageview.autoresizingMask = UIViewAutoresizing.flexibleHeight
33 | self.scrollView.addSubview(imageview)
34 | }
35 | }
36 |
37 | extension CCAboutViewController : UIScrollViewDelegate {
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/CocoaChina/Search/CCSearchViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCAboutViewController.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/10/3.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | import RxCocoa
12 | import Alamofire
13 |
14 | class CCSearchViewController: CCArticleTableViewController {
15 | //搜索条
16 | fileprivate var searchfiled:UISearchBar!
17 | //取消按钮
18 | fileprivate var cancelButton:UIButton!
19 | //RxSwift资源回收包
20 | fileprivate let disposeBag = DisposeBag()
21 |
22 | required init?(coder aDecoder: NSCoder) {
23 | fatalError("init(coder:) has not been implemented")
24 | }
25 |
26 | required init(navigatorURL URL: URL?, query: Dictionary) {
27 | super.init(navigatorURL: URL, query: query)
28 | }
29 |
30 | override func viewDidLoad() {
31 | super.viewDidLoad()
32 | self.edgesForExtendedLayout = UIRectEdge()
33 |
34 | self.cancelButton = UIButton(frame: CGRect(x: 0, y: 0, width: 44, height: 44))
35 | self.cancelButton.setImage(R.image.nav_cancel(), for: UIControlState())
36 | self.navigationItem.rightBarButtonItemFixedSpace(item: UIBarButtonItem(customView: cancelButton))
37 |
38 | self.searchfiled = UISearchBar()
39 | self.searchfiled.placeholder = "关键字必需大于2个字符哦"
40 | self.navigationItem.titleView = self.searchfiled
41 |
42 |
43 | self.subscribes()
44 | }
45 |
46 | fileprivate func subscribes() {
47 |
48 | //取消按钮点击Observable
49 | self.cancelButton.rx.tap.bindNext { [unowned self] _ in
50 | self.dismiss(animated: true, completion: nil)
51 | }.addDisposableTo(self.disposeBag)
52 |
53 | //tableView滚动偏移量Observable
54 | self.tableView.rx.contentOffset.bindNext {[unowned self] (p:CGPoint) in
55 | if self.searchfiled.isFirstResponder {
56 | _ = self.searchfiled.resignFirstResponder()
57 | }
58 | }.addDisposableTo(self.disposeBag)
59 |
60 | //搜索框搜索按钮点击Observable
61 | self.searchfiled.rx.searchButtonClicked.map({ [unowned self] _ -> PublishSubject<[CCArticleModel]> in
62 | self.tableView.clean()
63 | return CCHTMLModelHandler.sharedHandler.handleSearchPage(self.searchfiled.text!, loadNextPageTrigger: self.loadNextPageTrigger)
64 | }).switchLatest().bindNext({ [unowned self] (models:Array) in
65 | self.tableView.append(models)
66 | self.tableView.infiniteScrollingView.stopAnimating()
67 | }).addDisposableTo(self.disposeBag)
68 | }
69 | }
70 |
71 |
72 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Controller/ZXArticleTableViewController/CCArticleTableViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ZXTableViewController.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by user on 15/11/5.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | //import GoogleMobileAds
12 |
13 | class CCArticleTableViewController: ZXBaseViewController {//GADBannerViewDelegate
14 |
15 | //RxSwift资源回收包
16 | fileprivate let disposeBag = DisposeBag()
17 |
18 | //文章列表
19 | var tableView : CCArticleTableView!
20 |
21 | //加载下一页触发器
22 | let loadNextPageTrigger = PublishSubject()
23 |
24 |
25 | required init(navigatorURL URL: URL?, query: Dictionary) {
26 | super.init(navigatorURL: URL, query: query)
27 |
28 | //tableview 配置
29 | let forceHighlight = query["forceHighlight"] == "1" ? true : false
30 | self.tableView = CCArticleTableView(forceHighlight: forceHighlight)
31 | }
32 |
33 | required init?(coder aDecoder: NSCoder) {
34 | fatalError("init(coder:) has not been implemented")
35 | }
36 |
37 |
38 | override func viewDidLoad() {
39 | super.viewDidLoad()
40 |
41 | self.tableView.frame = self.view.bounds
42 | self.view.addSubview(self.tableView)
43 |
44 | //上拉加载
45 | self.tableView.addInfiniteScrolling { [weak self] () -> Void in
46 | guard let sself = self else {
47 | return
48 | }
49 | sself.loadNextPageTrigger.on(.next())
50 | }
51 | self.tableView.infiniteScrollingView.activityIndicatorViewStyle = .white
52 |
53 | //tableview行点击Observable
54 | self.tableView.selectSubject.bindNext { [weak self] (model:CCArticleModel) in
55 | guard let sself = self else {
56 | return
57 | }
58 |
59 | sself.dismiss(animated: true, completion: nil)
60 | var param = Dictionary()
61 | param["identity"] = model.identity
62 | ZXOpenURL("go/ccp/article", param:param)
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/Base/String+.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 17/1/23.
6 | // Copyright © 2017年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import AppBaseKit
11 |
12 | extension String {
13 |
14 | public func stringByDeletingOccurrencesOfString(_ target: String) -> String {
15 | return self.NS.replacingOccurrences(of: target, with: "")
16 | }
17 |
18 | public func stringByDeletingScopeString(_ begin:String, end:String) -> String {
19 | let rangeBegin = self.NS.range(of: begin)
20 | let rangeEnd = self.NS.range(of: end)
21 |
22 | let range = NSRange(location: rangeBegin.location + rangeBegin.length,
23 | length: rangeEnd.location - (rangeBegin.location + rangeBegin.length))
24 | return self.stringByDeletingCharactersInRange(range)
25 | }
26 |
27 | public func stringByDeletingCharactersInRange(_ range: NSRange) -> String {
28 | return self.NS.replacingCharacters(in: range, with: "")
29 | }
30 |
31 | public func stringByInsertString(str:String, beforeOccurrencesOfString target:String) -> String {
32 | return self.NS.replacingOccurrences(of: target, with: str + target)
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/Base/UIImage+.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 17/1/25.
6 | // Copyright © 2017年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | // MARK: - circle image
12 | public extension UIImage {
13 |
14 | public func circleImage() -> UIImage{
15 | UIGraphicsBeginImageContext(self.size)
16 | let context = UIGraphicsGetCurrentContext()!
17 | //圆的边框宽度为2,颜色为红色
18 |
19 | context.setLineWidth(0);
20 |
21 | context.setStrokeColor(UIColor.clear.cgColor);
22 |
23 | let rect = CGRect(x:0, y:0, width:self.size.width, height:self.size.height)
24 |
25 | context.addEllipse(in: rect);
26 |
27 | context.clip();
28 |
29 | //在圆区域内画出image原图
30 | self.draw(in: rect)
31 |
32 | context.addEllipse(in: rect);
33 |
34 | context.strokePath();
35 |
36 | //生成新的image
37 | let newimg = UIGraphicsGetImageFromCurrentImageContext()!
38 | UIGraphicsEndImageContext()
39 | return newimg
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/Base/UINavigationItem+.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UINavigationBar+FixedSpace.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by user on 15/10/27.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | public extension UINavigationItem {
13 |
14 | /**
15 | 添加一组与屏幕右边对其的rightBarButtonItems
16 |
17 | - parameter items: rightBarButtonItem数组
18 | */
19 | public func rightBarButtonItemsFixedSpace(items:[UIBarButtonItem]?) {
20 | guard items != nil else {
21 | return;
22 | }
23 |
24 | let negativeSpacer = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil)
25 | negativeSpacer.width = -15;
26 |
27 | var rightBarButtonItems = items!
28 | rightBarButtonItems.insert(negativeSpacer, at: 0);
29 | self.rightBarButtonItems = rightBarButtonItems
30 | }
31 |
32 | /**
33 | 添加一个与屏幕右边对其的rightBarButtonItem
34 |
35 | - parameter item: UIBarButtonItem
36 | */
37 | public func rightBarButtonItemFixedSpace(item:UIBarButtonItem) {
38 | self.rightBarButtonItemsFixedSpace(items: [item])
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/CCSqlite/CCDataBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCDataBase.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/9/27.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import SQLite
11 | import AppBaseKit
12 | import Log4G
13 |
14 | let CCDB = CCDataBase.sharedDB
15 |
16 | class CCDataBase: NSObject {
17 |
18 | static let sharedDB: CCDataBase = {
19 | return CCDataBase()
20 | }()
21 |
22 |
23 | fileprivate(set) var tableManager : CCTableManager!
24 |
25 | fileprivate(set) var connection : Connection!
26 |
27 | override init() {
28 | super.init()
29 | do{
30 | //获取路径
31 | let path = AppPathForApplicationSupportResource(relativePath: Bundle.main.bundleIdentifier!)
32 |
33 | //创建文件
34 | if !FileManager.default.fileExists(atPath: path) {
35 | try FileManager.default.createDirectory(
36 | atPath: path, withIntermediateDirectories: true, attributes: nil
37 | )
38 | }
39 |
40 | //建立连接
41 | self.connection = try Connection("\(path)/db.sqlite3")
42 |
43 | //建立数据库表
44 | self.tableManager = CCTableManager(connection: self.connection)
45 | }catch {
46 | Log4G.error("创建数据库失败!原因: \(error)")
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/CCSqlite/DAO/CCArticleDAO.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCTableArticle.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/9/27.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import SQLite
11 |
12 | class CCArticleDAO: NSObject {
13 | var table : Table = Table("Article")
14 |
15 | //文章identity
16 | let identity = Expression("identity")
17 | //标题
18 | let title = Expression("title")
19 | //点击url
20 | let linkURL = Expression("wapURL")
21 | //图片url
22 | let imageURL = Expression("imageURL")
23 | //是否收藏 0,未收藏 1,收藏
24 | let type = Expression("type")
25 | //插入数据库时间
26 | let dateOfRead = Expression("dateOfRead")
27 | //收藏时间
28 | let dateOfCollection = Expression("dateOfCollection")
29 |
30 |
31 |
32 | convenience init(connection:Connection) {
33 | self.init()
34 | weak var weakSelf = self
35 | try! connection.run(self.table.create(ifNotExists: true) { t in
36 |
37 | if let weakSelf = weakSelf {
38 | t.column(weakSelf.identity)
39 | t.column(weakSelf.title)
40 | t.column(weakSelf.linkURL)
41 | t.column(weakSelf.imageURL)
42 | t.column(weakSelf.type)
43 | t.column(weakSelf.dateOfRead)
44 | t.column(weakSelf.dateOfCollection)
45 | }
46 |
47 | })
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/CCSqlite/Manager/CCTableManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCTable.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/9/27.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import SQLite
11 |
12 | class CCTableManager: NSObject {
13 | fileprivate(set) var articleDAO : CCArticleDAO!
14 |
15 | convenience init(connection:Connection) {
16 | self.init()
17 | self.articleDAO = CCArticleDAO(connection: connection)
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/CCSqlite/Service/CCArticleCache.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCArticleCache.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/10/4.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | let kArticleCache = CCArticleCache.sharedCache
12 |
13 | //对保存在数据库中的文章做一个简单的cache,提升访问性能
14 | class CCArticleCache: NSObject {
15 |
16 | static let sharedCache: CCArticleCache = {
17 | return CCArticleCache()
18 | }()
19 |
20 | fileprivate var model_collection = CCArticleService.queryArticles(.collection)
21 | fileprivate var model_uncollection = CCArticleService.queryArticles(.unCollection)
22 |
23 | func updateCache() {
24 | self.model_collection = CCArticleService.queryArticles(.collection)
25 | self.model_uncollection = CCArticleService.queryArticles(.unCollection)
26 | }
27 |
28 | func articlesOfType(_ type:CCArticleType) ->[CCArticleModel] {
29 | switch type {
30 |
31 | case .collection:
32 | return model_collection
33 |
34 | case .unCollection:
35 | return model_uncollection
36 |
37 | default:
38 | return model_collection + model_uncollection
39 | }
40 | }
41 |
42 |
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/CCURLHelper.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCPTools.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/8/22.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class CCURLHelper: NSObject {
12 |
13 | class func generateIdentity(_ url: String) -> String {
14 | let target = url.lowercased();
15 |
16 | if (target.range(of: "wap") != nil) {
17 | //wap
18 | return url.components(separatedBy: "=").last!
19 | }else {
20 | //pc
21 | return url.components(separatedBy: "/").last!.components(separatedBy: ".").first!
22 | }
23 | }
24 |
25 | class func generateWapURL(_ identity:String) -> String {
26 | return "http://www.cocoachina.com/cms/wap.php?action=article&id=\(identity)"
27 | }
28 |
29 | class func generateWapURLFromURL(_ url:String) -> String {
30 | let identity = self.generateIdentity(url)
31 | return self.generateWapURL(identity)
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/HTMLModel/Parser/CCHTMLParser.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCHTMLParser.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by user on 15/10/30.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class CCHTMLParser: NSObject {
12 |
13 |
14 |
15 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/ZXURLNavigator/NSDate+String.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSDate+String.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/9/27.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Date {
12 | func string() ->String {
13 | let dateFormatter = DateFormatter()
14 | dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzz"
15 | return dateFormatter.string(from: self)
16 | }
17 | }
18 |
19 | extension String {
20 |
21 | func date() -> Date {
22 | let dateFormatter = DateFormatter()
23 | dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzz"
24 | return dateFormatter.date(from: self)!
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/Helper/ZXURLNavigator/ZXBaseViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+Navigator.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by 子循 on 15/7/5.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | import Log4G
12 |
13 | class ZXBaseViewController: UIViewController{
14 |
15 | var navURL: URL?
16 | var navQuery = Dictionary()
17 |
18 | convenience init(){
19 | self.init(navigatorURL: nil, query: Dictionary())
20 | }
21 |
22 | required init(navigatorURL URL: URL?,query:Dictionary) {
23 | self.navURL = URL
24 | self.navQuery = query
25 | super.init(nibName: nil, bundle: nil)
26 |
27 | // self.edgesForExtendedLayout = UIRectEdge.None
28 | //这里不能调用下面的代码,会导致init方法去load视图,然后调用viewDidLoad(),导致viewDidLoad()提前调用,打乱生命周期(比如视图还没有push,就已经load到了内存准备显示了)
29 | // self.view.backgroundColor = UIColor.blackColor()
30 |
31 | }
32 |
33 | override func viewDidLoad() {
34 | super.viewDidLoad()
35 | self.view.backgroundColor = UIColor.black
36 | self.automaticallyAdjustsScrollViewInsets = false
37 | self.edgesForExtendedLayout = UIRectEdge()
38 | }
39 |
40 | required init?(coder aDecoder: NSCoder) {
41 | super.init(coder: aDecoder)
42 | }
43 |
44 | override var preferredStatusBarStyle : UIStatusBarStyle {
45 | return UIStatusBarStyle.lightContent
46 | }
47 |
48 | deinit {
49 | Log4G.log("\(self.classForCoder)已正常释放!")
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCTableViewCell/CCTableViewCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCPTableViewCell.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/8/29.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import Neon
11 | import AppBaseKit
12 |
13 | class CCPTableViewCell: UITableViewCell {
14 |
15 | var containerView : UIView!
16 |
17 | override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
18 | super.init(style: style, reuseIdentifier: reuseIdentifier)
19 |
20 | self.backgroundColor = UIColor(hex:0x272626)
21 | let view = UIView()
22 | view.backgroundColor = UIColor(hex: 0xf8f8f8, alpha: 0.1)
23 | self.selectedBackgroundView = view
24 |
25 | self.containerView = UIView()
26 | self.containerView.backgroundColor = UIColor.black
27 | self.addSubview(self.containerView)
28 | }
29 |
30 | required init?(coder aDecoder: NSCoder) {
31 | fatalError("init(coder:) has not been implemented")
32 | }
33 |
34 | override func layoutSubviews() {
35 | super.layoutSubviews()
36 | self.containerView.fillSuperview(left: 2, right: 2, top: 0.5, bottom: 0.5)
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/agate.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Agate by Taufik Nurrohman
3 | * ----------------------------------------------------
4 | *
5 | * #ade5fc
6 | * #a2fca2
7 | * #c6b4f0
8 | * #d36363
9 | * #fcc28c
10 | * #fc9b9b
11 | * #ffa
12 | * #fff
13 | * #333
14 | * #62c8f3
15 | * #888
16 | *
17 | */
18 |
19 | .hljs {
20 | display: block;
21 | overflow-x: auto;
22 | padding: .5em;
23 | background: #333;
24 | color: white;
25 | -webkit-text-size-adjust: none;
26 | }
27 |
28 | .asciidoc .hljs-title,
29 | .hljs-label,
30 | .hljs-tag .hljs-title,
31 | .hljs-prompt,
32 | .http .hljs-request {
33 | font-weight: bold;
34 | }
35 |
36 | .hljs-change,
37 | .hljs-code {
38 | font-style: italic;
39 | }
40 |
41 | .hljs-tag,
42 | .ini .hljs-title {
43 | color: #62c8f3;
44 | }
45 |
46 | .hljs-id,
47 | .hljs-cbracket,
48 | .hljs-tag .hljs-value {
49 | color: #ade5fc;
50 | }
51 |
52 | .hljs-string,
53 | .hljs-bullet {
54 | color: #a2fca2;
55 | }
56 |
57 | .hljs-type,
58 | .hljs-variable,
59 | .hljs-name,
60 | .actionscript .hljs-title,
61 | .aspectj .hljs-annotation,
62 | .aspectj .hljs-title,
63 | .hljs-attribute,
64 | .hljs-change,
65 | .hljs-blockquote,
66 | .hljs-built_in {
67 | color: #ffa;
68 | }
69 |
70 | .hljs-number,
71 | .hljs-hexcolor,
72 | .hljs-link_label,
73 | .hljs-link_reference {
74 | color: #d36363;
75 | }
76 |
77 | .hljs-keyword,
78 | .hljs-literal,
79 | .hljs-constant,
80 | .css .hljs-tag,
81 | .hljs-typename,
82 | .hljs-winutils {
83 | color: #fcc28c;
84 | }
85 |
86 | .hljs-comment,
87 | .hljs-cdata,
88 | .hljs-preprocessor,
89 | .hljs-annotation,
90 | .hljs-decorator,
91 | .hljs-doctype,
92 | .hljs-deletion,
93 | .hljs-shebang,
94 | .apache .hljs-sqbracket,
95 | .tex .hljs-formula,
96 | .hljs-header,
97 | .hljs-horizontal_rule,
98 | .hljs-code {
99 | color: #888;
100 | }
101 |
102 | .hljs-regexp,
103 | .hljs-attr_selector {
104 | color: #c6b4f0;
105 | }
106 |
107 | .hljs-important,
108 | .hljs-doctype,
109 | .hljs-pi,
110 | .hljs-chunk,
111 | .actionscript .hljs-type,
112 | .hljs-shebang,
113 | .hljs-pragma,
114 | .http .hljs-attribute {
115 | color: #fc9b9b;
116 | }
117 |
118 | .hljs-deletion {
119 | background-color: #fc9b9b;
120 | color: #333;
121 | }
122 |
123 | .hljs-addition {
124 | background-color: #a2fca2;
125 | color: #333;
126 | }
127 |
128 | .hljs a,
129 | .hljs-tag .hljs-attribute {
130 | color: inherit;
131 | }
132 |
133 | .hljs a:focus,
134 | .hljs a:hover {
135 | color: inherit;
136 | text-decoration: underline;
137 | }
138 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/androidstudio.css:
--------------------------------------------------------------------------------
1 | /*
2 | Date: 24 Fev 2015
3 | Author: Pedro Oliveira
4 | */
5 |
6 | .hljs {
7 | color: #a9b7c6;
8 | background: #282b2e;
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-number {
16 | color: #6897BB;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-deletion {
21 | color: #cc7832;
22 | }
23 |
24 | .hljs-comment {
25 | color: #808080;
26 | }
27 |
28 | .hljs-annotation {
29 | color: #bbb529;
30 | }
31 |
32 | .hljs-string,
33 | .hljs-addition {
34 | color: #6A8759;
35 | }
36 |
37 | .hljs-function .hljs-title,
38 | .hljs-change {
39 | color: #ffc66d;
40 | }
41 |
42 | .hljs-tag .hljs-title,
43 | .hljs-doctype {
44 | color: #e8bf6a;
45 | }
46 |
47 | .hljs-tag .hljs-attribute {
48 | color: #bababa;
49 | }
50 |
51 | .hljs-tag .hljs-value {
52 | color: #a5c261;
53 | }
54 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/ascetic.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: white;
12 | color: black;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-string,
17 | .hljs-tag .hljs-value,
18 | .hljs-filter .hljs-argument,
19 | .hljs-addition,
20 | .hljs-change,
21 | .hljs-name,
22 | .apache .hljs-tag,
23 | .apache .hljs-cbracket,
24 | .nginx .hljs-built_in,
25 | .tex .hljs-formula {
26 | color: #888;
27 | }
28 |
29 | .hljs-comment,
30 | .hljs-shebang,
31 | .hljs-doctype,
32 | .hljs-pi,
33 | .hljs-deletion,
34 | .apache .hljs-sqbracket {
35 | color: #ccc;
36 | }
37 |
38 | .hljs-keyword,
39 | .hljs-tag .hljs-title,
40 | .ini .hljs-title,
41 | .lisp .hljs-title,
42 | .http .hljs-title,
43 | .nginx .hljs-title,
44 | .css .hljs-tag,
45 | .hljs-winutils,
46 | .hljs-flow,
47 | .apache .hljs-tag,
48 | .tex .hljs-command,
49 | .hljs-request,
50 | .hljs-status {
51 | font-weight: bold;
52 | }
53 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-cave.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Cave Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Cave Comment */
6 | .hljs-comment {
7 | color: #7e7887;
8 | }
9 |
10 | /* Atelier-Cave Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #be4678;
25 | }
26 |
27 | /* Atelier-Cave Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #aa573c;
35 | }
36 |
37 | /* Atelier-Cave Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a06e3b;
41 | }
42 |
43 | /* Atelier-Cave Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #2a9292;
51 | }
52 |
53 | /* Atelier-Cave Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #398bc6;
57 | }
58 |
59 | /* Atelier-Cave Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #576ddb;
69 | }
70 |
71 | /* Atelier-Cave Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #955ae7;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #19171c;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #be4678;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #2a9292;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #576ddb;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #19171c;
100 | color: #8b8792;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-cave.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Cave Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Cave Comment */
6 | .hljs-comment {
7 | color: #655f6d;
8 | }
9 |
10 | /* Atelier-Cave Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #be4678;
25 | }
26 |
27 | /* Atelier-Cave Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #aa573c;
35 | }
36 |
37 | /* Atelier-Cave Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a06e3b;
41 | }
42 |
43 | /* Atelier-Cave Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #2a9292;
51 | }
52 |
53 | /* Atelier-Cave Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #398bc6;
57 | }
58 |
59 | /* Atelier-Cave Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #576ddb;
69 | }
70 |
71 | /* Atelier-Cave Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #955ae7;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #19171c;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #be4678;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #2a9292;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #576ddb;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #efecf4;
100 | color: #585260;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-dune.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Dune Comment */
6 | .hljs-comment {
7 | color: #999580;
8 | }
9 |
10 | /* Atelier-Dune Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #d73737;
25 | }
26 |
27 | /* Atelier-Dune Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #b65611;
35 | }
36 |
37 | /* Atelier-Dune Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #ae9513;
41 | }
42 |
43 | /* Atelier-Dune Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #60ac39;
51 | }
52 |
53 | /* Atelier-Dune Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #1fad83;
57 | }
58 |
59 | /* Atelier-Dune Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #6684e1;
69 | }
70 |
71 | /* Atelier-Dune Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #b854d4;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #20201d;
81 | color: #a6a28c;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-dune.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Dune Comment */
6 | .hljs-comment {
7 | color: #7d7a68;
8 | }
9 |
10 | /* Atelier-Dune Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #d73737;
25 | }
26 |
27 | /* Atelier-Dune Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #b65611;
35 | }
36 |
37 | /* Atelier-Dune Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #ae9513;
41 | }
42 |
43 | /* Atelier-Dune Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #60ac39;
51 | }
52 |
53 | /* Atelier-Dune Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #1fad83;
57 | }
58 |
59 | /* Atelier-Dune Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #6684e1;
69 | }
70 |
71 | /* Atelier-Dune Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #b854d4;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #fefbec;
81 | color: #6e6b5e;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-estuary.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Estuary Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Estuary Comment */
6 | .hljs-comment {
7 | color: #878573;
8 | }
9 |
10 | /* Atelier-Estuary Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ba6236;
25 | }
26 |
27 | /* Atelier-Estuary Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #ae7313;
35 | }
36 |
37 | /* Atelier-Estuary Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a5980d;
41 | }
42 |
43 | /* Atelier-Estuary Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #7d9726;
51 | }
52 |
53 | /* Atelier-Estuary Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #5b9d48;
57 | }
58 |
59 | /* Atelier-Estuary Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #36a166;
69 | }
70 |
71 | /* Atelier-Estuary Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #5f9182;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #22221b;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #ba6236;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #7d9726;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #36a166;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #22221b;
100 | color: #929181;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-estuary.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Estuary Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Estuary Comment */
6 | .hljs-comment {
7 | color: #6c6b5a;
8 | }
9 |
10 | /* Atelier-Estuary Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ba6236;
25 | }
26 |
27 | /* Atelier-Estuary Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #ae7313;
35 | }
36 |
37 | /* Atelier-Estuary Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a5980d;
41 | }
42 |
43 | /* Atelier-Estuary Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #7d9726;
51 | }
52 |
53 | /* Atelier-Estuary Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #5b9d48;
57 | }
58 |
59 | /* Atelier-Estuary Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #36a166;
69 | }
70 |
71 | /* Atelier-Estuary Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #5f9182;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #22221b;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #ba6236;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #7d9726;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #36a166;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #f4f3ec;
100 | color: #5f5e4e;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-forest.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Forest Comment */
6 | .hljs-comment {
7 | color: #9c9491;
8 | }
9 |
10 | /* Atelier-Forest Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #f22c40;
25 | }
26 |
27 | /* Atelier-Forest Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #df5320;
35 | }
36 |
37 | /* Atelier-Forest Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #c38418;
41 | }
42 |
43 | /* Atelier-Forest Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #7b9726;
51 | }
52 |
53 | /* Atelier-Forest Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #3d97b8;
57 | }
58 |
59 | /* Atelier-Forest Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #407ee7;
69 | }
70 |
71 | /* Atelier-Forest Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6666ea;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #1b1918;
81 | color: #a8a19f;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-forest.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Forest Comment */
6 | .hljs-comment {
7 | color: #766e6b;
8 | }
9 |
10 | /* Atelier-Forest Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #f22c40;
25 | }
26 |
27 | /* Atelier-Forest Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #df5320;
35 | }
36 |
37 | /* Atelier-Forest Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #c38418;
41 | }
42 |
43 | /* Atelier-Forest Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #7b9726;
51 | }
52 |
53 | /* Atelier-Forest Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #3d97b8;
57 | }
58 |
59 | /* Atelier-Forest Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #407ee7;
69 | }
70 |
71 | /* Atelier-Forest Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6666ea;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #f1efee;
81 | color: #68615e;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-heath.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Heath Comment */
6 | .hljs-comment {
7 | color: #9e8f9e;
8 | }
9 |
10 | /* Atelier-Heath Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ca402b;
25 | }
26 |
27 | /* Atelier-Heath Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #a65926;
35 | }
36 |
37 | /* Atelier-Heath Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #bb8a35;
41 | }
42 |
43 | /* Atelier-Heath Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #918b3b;
51 | }
52 |
53 | /* Atelier-Heath Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #159393;
57 | }
58 |
59 | /* Atelier-Heath Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #516aec;
69 | }
70 |
71 | /* Atelier-Heath Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #7b59c0;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #1b181b;
81 | color: #ab9bab;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-heath.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Heath Comment */
6 | .hljs-comment {
7 | color: #776977;
8 | }
9 |
10 | /* Atelier-Heath Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ca402b;
25 | }
26 |
27 | /* Atelier-Heath Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #a65926;
35 | }
36 |
37 | /* Atelier-Heath Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #bb8a35;
41 | }
42 |
43 | /* Atelier-Heath Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #918b3b;
51 | }
52 |
53 | /* Atelier-Heath Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #159393;
57 | }
58 |
59 | /* Atelier-Heath Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #516aec;
69 | }
70 |
71 | /* Atelier-Heath Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #7b59c0;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #f7f3f7;
81 | color: #695d69;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-lakeside.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Lakeside Comment */
6 | .hljs-comment {
7 | color: #7195a8;
8 | }
9 |
10 | /* Atelier-Lakeside Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #d22d72;
25 | }
26 |
27 | /* Atelier-Lakeside Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #935c25;
35 | }
36 |
37 | /* Atelier-Lakeside Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #8a8a0f;
41 | }
42 |
43 | /* Atelier-Lakeside Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #568c3b;
51 | }
52 |
53 | /* Atelier-Lakeside Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #2d8f6f;
57 | }
58 |
59 | /* Atelier-Lakeside Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #257fad;
69 | }
70 |
71 | /* Atelier-Lakeside Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6b6bb8;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #161b1d;
81 | color: #7ea2b4;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-lakeside.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Lakeside Comment */
6 | .hljs-comment {
7 | color: #5a7b8c;
8 | }
9 |
10 | /* Atelier-Lakeside Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #d22d72;
25 | }
26 |
27 | /* Atelier-Lakeside Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #935c25;
35 | }
36 |
37 | /* Atelier-Lakeside Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #8a8a0f;
41 | }
42 |
43 | /* Atelier-Lakeside Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #568c3b;
51 | }
52 |
53 | /* Atelier-Lakeside Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #2d8f6f;
57 | }
58 |
59 | /* Atelier-Lakeside Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #257fad;
69 | }
70 |
71 | /* Atelier-Lakeside Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6b6bb8;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #ebf8ff;
81 | color: #516d7b;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-plateau.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Plateau Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Plateau Comment */
6 | .hljs-comment {
7 | color: #7e7777;
8 | }
9 |
10 | /* Atelier-Plateau Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ca4949;
25 | }
26 |
27 | /* Atelier-Plateau Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #b45a3c;
35 | }
36 |
37 | /* Atelier-Plateau Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a06e3b;
41 | }
42 |
43 | /* Atelier-Plateau Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #4b8b8b;
51 | }
52 |
53 | /* Atelier-Plateau Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #5485b6;
57 | }
58 |
59 | /* Atelier-Plateau Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #7272ca;
69 | }
70 |
71 | /* Atelier-Plateau Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #8464c4;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #1b1818;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #ca4949;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #4b8b8b;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #7272ca;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #1b1818;
100 | color: #8a8585;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-plateau.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Plateau Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Plateau Comment */
6 | .hljs-comment {
7 | color: #655d5d;
8 | }
9 |
10 | /* Atelier-Plateau Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ca4949;
25 | }
26 |
27 | /* Atelier-Plateau Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #b45a3c;
35 | }
36 |
37 | /* Atelier-Plateau Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a06e3b;
41 | }
42 |
43 | /* Atelier-Plateau Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #4b8b8b;
51 | }
52 |
53 | /* Atelier-Plateau Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #5485b6;
57 | }
58 |
59 | /* Atelier-Plateau Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #7272ca;
69 | }
70 |
71 | /* Atelier-Plateau Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #8464c4;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #1b1818;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #ca4949;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #4b8b8b;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #7272ca;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #f4ecec;
100 | color: #585050;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-savanna.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Savanna Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Savanna Comment */
6 | .hljs-comment {
7 | color: #78877d;
8 | }
9 |
10 | /* Atelier-Savanna Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #b16139;
25 | }
26 |
27 | /* Atelier-Savanna Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #9f713c;
35 | }
36 |
37 | /* Atelier-Savanna Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a07e3b;
41 | }
42 |
43 | /* Atelier-Savanna Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #489963;
51 | }
52 |
53 | /* Atelier-Savanna Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #1c9aa0;
57 | }
58 |
59 | /* Atelier-Savanna Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #478c90;
69 | }
70 |
71 | /* Atelier-Savanna Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #55859b;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #171c19;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #b16139;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #489963;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #478c90;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #171c19;
100 | color: #87928a;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-savanna.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Savanna Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Savanna Comment */
6 | .hljs-comment {
7 | color: #5f6d64;
8 | }
9 |
10 | /* Atelier-Savanna Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #b16139;
25 | }
26 |
27 | /* Atelier-Savanna Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #9f713c;
35 | }
36 |
37 | /* Atelier-Savanna Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #a07e3b;
41 | }
42 |
43 | /* Atelier-Savanna Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #489963;
51 | }
52 |
53 | /* Atelier-Savanna Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #1c9aa0;
57 | }
58 |
59 | /* Atelier-Savanna Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #478c90;
69 | }
70 |
71 | /* Atelier-Savanna Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #55859b;
75 | }
76 |
77 | .diff .hljs-deletion,
78 | .diff .hljs-addition {
79 | color: #171c19;
80 | display: inline-block;
81 | width: 100%;
82 | }
83 |
84 | .diff .hljs-deletion {
85 | background-color: #b16139;
86 | }
87 |
88 | .diff .hljs-addition {
89 | background-color: #489963;
90 | }
91 |
92 | .diff .hljs-change {
93 | color: #478c90;
94 | }
95 |
96 | .hljs {
97 | display: block;
98 | overflow-x: auto;
99 | background: #ecf4ee;
100 | color: #526057;
101 | padding: 0.5em;
102 | -webkit-text-size-adjust: none;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-seaside.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Seaside Comment */
6 | .hljs-comment {
7 | color: #809980;
8 | }
9 |
10 | /* Atelier-Seaside Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #e6193c;
25 | }
26 |
27 | /* Atelier-Seaside Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #87711d;
35 | }
36 |
37 | /* Atelier-Seaside Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #98981b;
41 | }
42 |
43 | /* Atelier-Seaside Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #29a329;
51 | }
52 |
53 | /* Atelier-Seaside Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #1999b3;
57 | }
58 |
59 | /* Atelier-Seaside Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #3d62f5;
69 | }
70 |
71 | /* Atelier-Seaside Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #ad2bee;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #131513;
81 | color: #8ca68c;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-seaside.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Seaside Comment */
6 | .hljs-comment {
7 | color: #687d68;
8 | }
9 |
10 | /* Atelier-Seaside Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #e6193c;
25 | }
26 |
27 | /* Atelier-Seaside Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #87711d;
35 | }
36 |
37 | /* Atelier-Seaside Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #98981b;
41 | }
42 |
43 | /* Atelier-Seaside Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #29a329;
51 | }
52 |
53 | /* Atelier-Seaside Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #1999b3;
57 | }
58 |
59 | /* Atelier-Seaside Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #3d62f5;
69 | }
70 |
71 | /* Atelier-Seaside Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #ad2bee;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #f4fbf4;
81 | color: #5e6e5e;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-sulphurpool.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment {
7 | color: #898ea4;
8 | }
9 |
10 | /* Atelier-Sulphurpool Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #c94922;
25 | }
26 |
27 | /* Atelier-Sulphurpool Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #c76b29;
35 | }
36 |
37 | /* Atelier-Sulphurpool Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #c08b30;
41 | }
42 |
43 | /* Atelier-Sulphurpool Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #ac9739;
51 | }
52 |
53 | /* Atelier-Sulphurpool Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #22a2c9;
57 | }
58 |
59 | /* Atelier-Sulphurpool Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #3d8fd1;
69 | }
70 |
71 | /* Atelier-Sulphurpool Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6679cc;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #202746;
81 | color: #979db4;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/atelier-sulphurpool.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment {
7 | color: #6b7394;
8 | }
9 |
10 | /* Atelier-Sulphurpool Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #c94922;
25 | }
26 |
27 | /* Atelier-Sulphurpool Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #c76b29;
35 | }
36 |
37 | /* Atelier-Sulphurpool Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #c08b30;
41 | }
42 |
43 | /* Atelier-Sulphurpool Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #ac9739;
51 | }
52 |
53 | /* Atelier-Sulphurpool Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #22a2c9;
57 | }
58 |
59 | /* Atelier-Sulphurpool Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #3d8fd1;
69 | }
70 |
71 | /* Atelier-Sulphurpool Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6679cc;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #f5f7ff;
81 | color: #5e6687;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/brown_paper.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background:#b7a68e url(./brown_papersq.png);
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-keyword,
16 | .hljs-literal,
17 | .hljs-change,
18 | .hljs-winutils,
19 | .hljs-flow,
20 | .nginx .hljs-title,
21 | .tex .hljs-special,
22 | .hljs-request,
23 | .hljs-status {
24 | color:#005599;
25 | font-weight:bold;
26 | }
27 |
28 | .hljs,
29 | .hljs-subst,
30 | .hljs-tag .hljs-keyword {
31 | color: #363c69;
32 | }
33 |
34 | .hljs-string,
35 | .hljs-title,
36 | .hljs-type,
37 | .hljs-tag .hljs-value,
38 | .css .hljs-rule .hljs-value,
39 | .hljs-preprocessor,
40 | .hljs-pragma,
41 | .ruby .hljs-symbol,
42 | .ruby .hljs-symbol .hljs-string,
43 | .ruby .hljs-class .hljs-parent,
44 | .hljs-built_in,
45 | .django .hljs-template_tag,
46 | .django .hljs-variable,
47 | .smalltalk .hljs-class,
48 | .ruby .hljs-string,
49 | .django .hljs-filter .hljs-argument,
50 | .smalltalk .hljs-localvars,
51 | .smalltalk .hljs-array,
52 | .hljs-attr_selector,
53 | .hljs-pseudo,
54 | .hljs-addition,
55 | .hljs-stream,
56 | .hljs-envvar,
57 | .apache .hljs-tag,
58 | .apache .hljs-cbracket,
59 | .tex .hljs-number,
60 | .hljs-name {
61 | color: #2c009f;
62 | }
63 |
64 | .hljs-comment,
65 | .hljs-annotation,
66 | .hljs-decorator,
67 | .hljs-pi,
68 | .hljs-doctype,
69 | .hljs-deletion,
70 | .hljs-shebang,
71 | .apache .hljs-sqbracket,
72 | .nginx .hljs-built_in,
73 | .tex .hljs-formula {
74 | color: #802022;
75 | }
76 |
77 | .hljs-keyword,
78 | .hljs-literal,
79 | .css .hljs-id,
80 | .hljs-doctag,
81 | .hljs-title,
82 | .hljs-type,
83 | .vbscript .hljs-built_in,
84 | .rsl .hljs-built_in,
85 | .smalltalk .hljs-class,
86 | .diff .hljs-header,
87 | .hljs-chunk,
88 | .hljs-winutils,
89 | .bash .hljs-variable,
90 | .apache .hljs-tag,
91 | .tex .hljs-command {
92 | font-weight: bold;
93 | }
94 |
95 | .coffeescript .javascript,
96 | .javascript .xml,
97 | .tex .hljs-formula,
98 | .xml .javascript,
99 | .xml .vbscript,
100 | .xml .css,
101 | .xml .hljs-cdata {
102 | opacity: 0.8;
103 | }
104 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/brown_papersq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/brown_papersq.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/codepen-embed.css:
--------------------------------------------------------------------------------
1 | /*
2 | codepen.io Embed Theme
3 | Author: Justin Perry
4 | Original theme - https://github.com/chriskempson/tomorrow-theme
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #222;
12 | color: #fff;
13 | font-family: Menlo, Monaco, 'Andale Mono', 'Lucida Console', 'Courier New', monospace;
14 | -webkit-text-size-adjust: none;
15 | }
16 |
17 | .hljs-comment,
18 | .hljs-title {
19 | color: #777;
20 | }
21 |
22 | .hljs-variable,
23 | .hljs-attribute,
24 | .hljs-tag,
25 | .hljs-regexp,
26 | .hljs-name,
27 | .ruby .constant,
28 | .xml .tag .title,
29 | .xml .pi,
30 | .xml .doctype,
31 | .html .doctype {
32 | color: #ab875d;
33 | }
34 |
35 | .css .value {
36 | color: #cd6a51;
37 | }
38 |
39 | .css .value .function,
40 | .css .value .string {
41 | color: #a67f59;
42 | }
43 |
44 | .css .value .number {
45 | color: #9b869c;
46 | }
47 |
48 | .css .id,
49 | .css .class,
50 | .css-pseudo,
51 | .css .selector,
52 | .css .tag {
53 | color: #dfc48c;
54 | }
55 |
56 | .hljs-number,
57 | .hljs-preprocessor,
58 | .hljs-built_in,
59 | .hljs-literal,
60 | .hljs-params,
61 | .hljs-constant {
62 | color: #ab875d;
63 | }
64 |
65 | .ruby .class .title,
66 | .css .rules .attribute {
67 | color: #9b869b;
68 | }
69 |
70 | .hljs-string,
71 | .hljs-value,
72 | .hljs-inheritance,
73 | .hljs-header,
74 | .ruby .symbol,
75 | .xml .cdata {
76 | color: #8f9c6c;
77 | }
78 |
79 | .css .hexcolor {
80 | color: #cd6a51;
81 | }
82 |
83 | .function,
84 | .python .decorator,
85 | .python .title,
86 | .ruby .function .title,
87 | .ruby .title .keyword,
88 | .perl .sub,
89 | .javascript .title,
90 | .coffeescript .title {
91 | color: #fff;
92 | }
93 |
94 | .hljs-keyword,
95 | .javascript .function {
96 | color: #8f9c6c;
97 | }
98 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #444;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-keyword,
16 | .hljs-literal,
17 | .hljs-change,
18 | .hljs-winutils,
19 | .hljs-flow,
20 | .nginx .hljs-title,
21 | .tex .hljs-special {
22 | color: white;
23 | }
24 |
25 | .hljs,
26 | .hljs-subst {
27 | color: #ddd;
28 | }
29 |
30 | .hljs-string,
31 | .hljs-title,
32 | .hljs-type,
33 | .ini .hljs-title,
34 | .hljs-tag .hljs-value,
35 | .css .hljs-rule .hljs-value,
36 | .hljs-preprocessor,
37 | .hljs-pragma,
38 | .ruby .hljs-symbol,
39 | .ruby .hljs-symbol .hljs-string,
40 | .ruby .hljs-class .hljs-parent,
41 | .hljs-built_in,
42 | .django .hljs-template_tag,
43 | .django .hljs-variable,
44 | .smalltalk .hljs-class,
45 | .ruby .hljs-string,
46 | .django .hljs-filter .hljs-argument,
47 | .smalltalk .hljs-localvars,
48 | .smalltalk .hljs-array,
49 | .hljs-attr_selector,
50 | .hljs-pseudo,
51 | .hljs-addition,
52 | .hljs-stream,
53 | .hljs-envvar,
54 | .apache .hljs-tag,
55 | .apache .hljs-cbracket,
56 | .tex .hljs-command,
57 | .hljs-prompt,
58 | .coffeescript .hljs-attribute,
59 | .hljs-name {
60 | color: #d88;
61 | }
62 |
63 | .hljs-comment,
64 | .hljs-annotation,
65 | .hljs-decorator,
66 | .hljs-pi,
67 | .hljs-doctype,
68 | .hljs-deletion,
69 | .hljs-shebang,
70 | .apache .hljs-sqbracket,
71 | .tex .hljs-formula {
72 | color: #777;
73 | }
74 |
75 | .hljs-keyword,
76 | .hljs-literal,
77 | .hljs-title,
78 | .css .hljs-id,
79 | .hljs-doctag,
80 | .hljs-type,
81 | .vbscript .hljs-built_in,
82 | .rsl .hljs-built_in,
83 | .smalltalk .hljs-class,
84 | .diff .hljs-header,
85 | .hljs-chunk,
86 | .hljs-winutils,
87 | .bash .hljs-variable,
88 | .apache .hljs-tag,
89 | .tex .hljs-special,
90 | .hljs-request,
91 | .hljs-status {
92 | font-weight: bold;
93 | }
94 |
95 | .coffeescript .javascript,
96 | .javascript .xml,
97 | .tex .hljs-formula,
98 | .xml .javascript,
99 | .xml .vbscript,
100 | .xml .css,
101 | .xml .hljs-cdata {
102 | opacity: 0.5;
103 | }
104 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/docco.css:
--------------------------------------------------------------------------------
1 | /*
2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars)
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | color: #000;
10 | background: #f8f8ff;
11 | -webkit-text-size-adjust: none;
12 | }
13 |
14 | .hljs-comment,
15 | .diff .hljs-header {
16 | color: #408080;
17 | font-style: italic;
18 | }
19 |
20 | .hljs-keyword,
21 | .assignment,
22 | .hljs-literal,
23 | .css .rule .hljs-keyword,
24 | .hljs-winutils,
25 | .javascript .hljs-title,
26 | .lisp .hljs-title,
27 | .hljs-subst {
28 | color: #954121;
29 | }
30 |
31 | .hljs-number,
32 | .hljs-hexcolor {
33 | color: #40a070;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-tag .hljs-value,
38 | .hljs-doctag,
39 | .tex .hljs-formula,
40 | .hljs-name {
41 | color: #219161;
42 | }
43 |
44 | .hljs-title,
45 | .hljs-id {
46 | color: #19469d;
47 | }
48 | .hljs-params {
49 | color: #00f;
50 | }
51 |
52 | .javascript .hljs-title,
53 | .lisp .hljs-title,
54 | .hljs-subst {
55 | font-weight: normal;
56 | }
57 |
58 | .hljs-class .hljs-title,
59 | .haskell .hljs-label,
60 | .tex .hljs-command {
61 | color: #458;
62 | font-weight: bold;
63 | }
64 |
65 | .hljs-tag,
66 | .hljs-tag .hljs-title,
67 | .hljs-rule .hljs-property,
68 | .django .hljs-tag .hljs-keyword {
69 | color: #000080;
70 | font-weight: normal;
71 | }
72 |
73 | .hljs-attribute,
74 | .hljs-variable,
75 | .instancevar,
76 | .lisp .hljs-body {
77 | color: #008080;
78 | }
79 |
80 | .hljs-regexp {
81 | color: #b68;
82 | }
83 |
84 | .hljs-class {
85 | color: #458;
86 | font-weight: bold;
87 | }
88 |
89 | .hljs-symbol,
90 | .ruby .hljs-symbol .hljs-string,
91 | .ruby .hljs-symbol .hljs-keyword,
92 | .ruby .hljs-symbol .keymethods,
93 | .lisp .hljs-keyword,
94 | .tex .hljs-special,
95 | .input_number {
96 | color: #990073;
97 | }
98 |
99 | .builtin,
100 | .constructor,
101 | .hljs-built_in,
102 | .lisp .hljs-title {
103 | color: #0086b3;
104 | }
105 |
106 | .hljs-preprocessor,
107 | .hljs-pragma,
108 | .hljs-pi,
109 | .hljs-doctype,
110 | .hljs-shebang,
111 | .hljs-cdata {
112 | color: #999;
113 | font-weight: bold;
114 | }
115 |
116 | .hljs-deletion {
117 | background: #fdd;
118 | }
119 |
120 | .hljs-addition {
121 | background: #dfd;
122 | }
123 |
124 | .diff .hljs-change {
125 | background: #0086b3;
126 | }
127 |
128 | .hljs-chunk {
129 | color: #aaa;
130 | }
131 |
132 | .tex .hljs-formula {
133 | opacity: 0.5;
134 | }
135 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/far.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | FAR Style (c) MajestiC
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #000080;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs,
16 | .hljs-subst {
17 | color: #0ff;
18 | }
19 |
20 | .hljs-string,
21 | .ruby .hljs-string,
22 | .haskell .hljs-type,
23 | .hljs-tag .hljs-value,
24 | .hljs-rule .hljs-value,
25 | .hljs-rule .hljs-value .hljs-number,
26 | .hljs-preprocessor,
27 | .hljs-pragma,
28 | .ruby .hljs-symbol,
29 | .ruby .hljs-symbol .hljs-string,
30 | .hljs-built_in,
31 | .django .hljs-template_tag,
32 | .django .hljs-variable,
33 | .smalltalk .hljs-class,
34 | .hljs-addition,
35 | .apache .hljs-tag,
36 | .apache .hljs-cbracket,
37 | .tex .hljs-command,
38 | .coffeescript .hljs-attribute {
39 | color: #ff0;
40 | }
41 |
42 | .hljs-keyword,
43 | .css .hljs-id,
44 | .hljs-title,
45 | .hljs-type,
46 | .vbscript .hljs-built_in,
47 | .rsl .hljs-built_in,
48 | .smalltalk .hljs-class,
49 | .xml .hljs-tag .hljs-title,
50 | .hljs-winutils,
51 | .hljs-flow,
52 | .hljs-change,
53 | .hljs-envvar,
54 | .bash .hljs-variable,
55 | .tex .hljs-special,
56 | .hljs-name {
57 | color: #fff;
58 | }
59 |
60 | .hljs-comment,
61 | .hljs-doctag,
62 | .hljs-annotation,
63 | .hljs-deletion,
64 | .apache .hljs-sqbracket,
65 | .tex .hljs-formula {
66 | color: #888;
67 | }
68 |
69 | .hljs-number,
70 | .hljs-date,
71 | .hljs-regexp,
72 | .hljs-literal,
73 | .smalltalk .hljs-symbol,
74 | .smalltalk .hljs-char,
75 | .clojure .hljs-attribute {
76 | color: #0f0;
77 | }
78 |
79 | .hljs-decorator,
80 | .django .hljs-filter .hljs-argument,
81 | .smalltalk .hljs-localvars,
82 | .smalltalk .hljs-array,
83 | .hljs-attr_selector,
84 | .hljs-pseudo,
85 | .xml .hljs-pi,
86 | .diff .hljs-header,
87 | .hljs-chunk,
88 | .hljs-shebang,
89 | .nginx .hljs-built_in,
90 | .hljs-prompt {
91 | color: #008080;
92 | }
93 |
94 | .hljs-keyword,
95 | .css .hljs-id,
96 | .hljs-title,
97 | .hljs-type,
98 | .vbscript .hljs-built_in,
99 | .rsl .hljs-built_in,
100 | .smalltalk .hljs-class,
101 | .hljs-winutils,
102 | .hljs-flow,
103 | .apache .hljs-tag,
104 | .nginx .hljs-built_in,
105 | .tex .hljs-command,
106 | .tex .hljs-special,
107 | .hljs-request,
108 | .hljs-status {
109 | font-weight: bold;
110 | }
111 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/foundation.css:
--------------------------------------------------------------------------------
1 | /*
2 | Description: Foundation 4 docs style for highlight.js
3 | Author: Dan Allen
4 | Website: http://foundation.zurb.com/docs/
5 | Version: 1.0
6 | Date: 2013-04-02
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | background: #eee;
14 | -webkit-text-size-adjust: none;
15 | }
16 |
17 | .hljs-header,
18 | .hljs-decorator,
19 | .hljs-annotation {
20 | color: #000077;
21 | }
22 |
23 | .hljs-horizontal_rule,
24 | .hljs-link_url,
25 | .hljs-emphasis,
26 | .hljs-attribute {
27 | color: #070;
28 | }
29 |
30 | .hljs-emphasis {
31 | font-style: italic;
32 | }
33 |
34 | .hljs-link_label,
35 | .hljs-strong,
36 | .hljs-value,
37 | .hljs-string,
38 | .scss .hljs-value .hljs-string {
39 | color: #d14;
40 | }
41 |
42 | .hljs-strong {
43 | font-weight: bold;
44 | }
45 |
46 | .hljs-blockquote,
47 | .hljs-comment {
48 | color: #998;
49 | font-style: italic;
50 | }
51 |
52 | .asciidoc .hljs-title,
53 | .hljs-function .hljs-title {
54 | color: #900;
55 | }
56 |
57 | .hljs-class {
58 | color: #458;
59 | }
60 |
61 | .hljs-id,
62 | .hljs-pseudo,
63 | .hljs-constant,
64 | .hljs-hexcolor {
65 | color: teal;
66 | }
67 |
68 | .hljs-variable {
69 | color: #336699;
70 | }
71 |
72 | .hljs-bullet {
73 | color: #997700;
74 | }
75 |
76 | .hljs-pi,
77 | .hljs-doctype {
78 | color: #3344bb;
79 | }
80 |
81 | .hljs-code,
82 | .hljs-number {
83 | color: #099;
84 | }
85 |
86 | .hljs-important {
87 | color: #f00;
88 | }
89 |
90 | .smartquote,
91 | .hljs-label {
92 | color: #970;
93 | }
94 |
95 | .hljs-preprocessor,
96 | .hljs-pragma {
97 | color: #579;
98 | }
99 |
100 | .hljs-reserved,
101 | .hljs-keyword,
102 | .scss .hljs-value {
103 | color: #000;
104 | }
105 |
106 | .hljs-regexp {
107 | background-color: #fff0ff;
108 | color: #880088;
109 | }
110 |
111 | .hljs-symbol {
112 | color: #990073;
113 | }
114 |
115 | .hljs-symbol .hljs-string {
116 | color: #a60;
117 | }
118 |
119 | .hljs-tag {
120 | color: #007700;
121 | }
122 |
123 | .hljs-at_rule,
124 | .hljs-at_rule .hljs-keyword {
125 | color: #088;
126 | }
127 |
128 | .hljs-at_rule .hljs-preprocessor {
129 | color: #808;
130 | }
131 |
132 | .scss .hljs-tag,
133 | .scss .hljs-attribute {
134 | color: #339;
135 | }
136 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/github.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | github.com style (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #333;
12 | background: #f8f8f8;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-comment,
17 | .diff .hljs-header {
18 | color: #998;
19 | font-style: italic;
20 | }
21 |
22 | .hljs-keyword,
23 | .css .rule .hljs-keyword,
24 | .hljs-winutils,
25 | .nginx .hljs-title,
26 | .hljs-subst,
27 | .hljs-request,
28 | .hljs-status {
29 | color: #333;
30 | font-weight: bold;
31 | }
32 |
33 | .hljs-number,
34 | .hljs-hexcolor,
35 | .ruby .hljs-constant {
36 | color: #008080;
37 | }
38 |
39 | .hljs-string,
40 | .hljs-tag .hljs-value,
41 | .hljs-doctag,
42 | .tex .hljs-formula {
43 | color: #d14;
44 | }
45 |
46 | .hljs-title,
47 | .hljs-id,
48 | .scss .hljs-preprocessor {
49 | color: #900;
50 | font-weight: bold;
51 | }
52 |
53 | .hljs-list .hljs-keyword,
54 | .hljs-subst {
55 | font-weight: normal;
56 | }
57 |
58 | .hljs-class .hljs-title,
59 | .hljs-type,
60 | .vhdl .hljs-literal,
61 | .tex .hljs-command {
62 | color: #458;
63 | font-weight: bold;
64 | }
65 |
66 | .hljs-tag,
67 | .hljs-tag .hljs-title,
68 | .hljs-rule .hljs-property,
69 | .django .hljs-tag .hljs-keyword {
70 | color: #000080;
71 | font-weight: normal;
72 | }
73 |
74 | .hljs-attribute,
75 | .hljs-variable,
76 | .lisp .hljs-body,
77 | .hljs-name {
78 | color: #008080;
79 | }
80 |
81 | .hljs-regexp {
82 | color: #009926;
83 | }
84 |
85 | .hljs-symbol,
86 | .ruby .hljs-symbol .hljs-string,
87 | .lisp .hljs-keyword,
88 | .clojure .hljs-keyword,
89 | .scheme .hljs-keyword,
90 | .tex .hljs-special,
91 | .hljs-prompt {
92 | color: #990073;
93 | }
94 |
95 | .hljs-built_in {
96 | color: #0086b3;
97 | }
98 |
99 | .hljs-preprocessor,
100 | .hljs-pragma,
101 | .hljs-pi,
102 | .hljs-doctype,
103 | .hljs-shebang,
104 | .hljs-cdata {
105 | color: #999;
106 | font-weight: bold;
107 | }
108 |
109 | .hljs-deletion {
110 | background: #fdd;
111 | }
112 |
113 | .hljs-addition {
114 | background: #dfd;
115 | }
116 |
117 | .diff .hljs-change {
118 | background: #0086b3;
119 | }
120 |
121 | .hljs-chunk {
122 | color: #aaa;
123 | }
124 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/hopscotch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Hopscotch
3 | * by Jan T. Sott
4 | * https://github.com/idleberg/Hopscotch
5 | *
6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License
7 | */
8 |
9 | /* Comment */
10 | .hljs-comment,
11 | .hljs-title {
12 | color: #989498;
13 | }
14 |
15 | /* Red */
16 | .hljs-variable,
17 | .hljs-attribute,
18 | .hljs-tag,
19 | .hljs-regexp,
20 | .ruby .hljs-constant,
21 | .xml .hljs-tag .hljs-title,
22 | .xml .hljs-pi,
23 | .xml .hljs-doctype,
24 | .html .hljs-doctype,
25 | .css .hljs-id,
26 | .css .hljs-class,
27 | .css .hljs-pseudo {
28 | color: #dd464c;
29 | }
30 |
31 | /* Orange */
32 | .hljs-number,
33 | .hljs-preprocessor,
34 | .hljs-built_in,
35 | .hljs-literal,
36 | .hljs-params,
37 | .hljs-constant {
38 | color: #fd8b19;
39 | }
40 |
41 | /* Yellow */
42 | .ruby .hljs-class .hljs-title,
43 | .css .hljs-rules .hljs-attribute {
44 | color: #fdcc59;
45 | }
46 |
47 | /* Green */
48 | .hljs-string,
49 | .hljs-value,
50 | .hljs-inheritance,
51 | .hljs-header,
52 | .ruby .hljs-symbol,
53 | .xml .hljs-cdata {
54 | color: #8fc13e;
55 | }
56 |
57 | /* Aqua */
58 | .css .hljs-hexcolor {
59 | color: #149b93;
60 | }
61 |
62 | /* Blue */
63 | .hljs-function,
64 | .python .hljs-decorator,
65 | .python .hljs-title,
66 | .ruby .hljs-function .hljs-title,
67 | .ruby .hljs-title .hljs-keyword,
68 | .perl .hljs-sub,
69 | .javascript .hljs-title,
70 | .coffeescript .hljs-title {
71 | color: #1290bf;
72 | }
73 |
74 | /* Purple */
75 | .hljs-keyword,
76 | .javascript .hljs-function {
77 | color: #c85e7c;
78 | }
79 |
80 | .hljs {
81 | display: block;
82 | background: #322931;
83 | color: #b9b5b8;
84 | padding: 0.5em;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/idea.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Intellij Idea-like styling (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #000;
12 | background: #fff;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-subst,
17 | .hljs-title,
18 | .json .hljs-value {
19 | font-weight: normal;
20 | color: #000;
21 | }
22 |
23 | .hljs-comment,
24 | .diff .hljs-header {
25 | color: #808080;
26 | font-style: italic;
27 | }
28 |
29 | .hljs-annotation,
30 | .hljs-decorator,
31 | .hljs-preprocessor,
32 | .hljs-pragma,
33 | .hljs-doctype,
34 | .hljs-pi,
35 | .hljs-chunk,
36 | .hljs-shebang,
37 | .apache .hljs-cbracket,
38 | .hljs-prompt,
39 | .http .hljs-title {
40 | color: #808000;
41 | }
42 |
43 | .hljs-tag,
44 | .hljs-pi {
45 | background: #efefef;
46 | }
47 |
48 | .hljs-tag .hljs-title,
49 | .hljs-id,
50 | .hljs-attr_selector,
51 | .hljs-pseudo,
52 | .hljs-literal,
53 | .hljs-keyword,
54 | .hljs-hexcolor,
55 | .css .hljs-function,
56 | .ini .hljs-title,
57 | .css .hljs-class,
58 | .hljs-list .hljs-keyword,
59 | .nginx .hljs-title,
60 | .tex .hljs-command,
61 | .hljs-request,
62 | .hljs-status {
63 | font-weight: bold;
64 | color: #000080;
65 | }
66 |
67 | .hljs-attribute,
68 | .hljs-rule .hljs-keyword,
69 | .hljs-number,
70 | .hljs-date,
71 | .hljs-regexp,
72 | .tex .hljs-special {
73 | font-weight: bold;
74 | color: #0000ff;
75 | }
76 |
77 | .hljs-number,
78 | .hljs-regexp {
79 | font-weight: normal;
80 | }
81 |
82 | .hljs-string,
83 | .hljs-value,
84 | .hljs-filter .hljs-argument,
85 | .css .hljs-function .hljs-params,
86 | .apache .hljs-tag {
87 | color: #008000;
88 | font-weight: bold;
89 | }
90 |
91 | .hljs-symbol,
92 | .ruby .hljs-symbol .hljs-string,
93 | .hljs-char,
94 | .tex .hljs-formula {
95 | color: #000;
96 | background: #d0eded;
97 | font-style: italic;
98 | }
99 |
100 | .hljs-doctag {
101 | text-decoration: underline;
102 | }
103 |
104 | .hljs-variable,
105 | .hljs-envvar,
106 | .apache .hljs-sqbracket,
107 | .nginx .hljs-built_in,
108 | .hljs-name {
109 | color: #660e7a;
110 | }
111 |
112 | .hljs-addition {
113 | background: #baeeba;
114 | }
115 |
116 | .hljs-deletion {
117 | background: #ffc8bd;
118 | }
119 |
120 | .diff .hljs-change {
121 | background: #bccff9;
122 | }
123 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/ir_black.css:
--------------------------------------------------------------------------------
1 | /*
2 | IR_Black style (c) Vasily Mikhailitchenko
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #000;
10 | color: #f8f8f8;
11 | -webkit-text-size-adjust: none;
12 | }
13 |
14 | .hljs-shebang,
15 | .hljs-comment {
16 | color: #7c7c7c;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-tag,
21 | .tex .hljs-command,
22 | .hljs-request,
23 | .hljs-status,
24 | .clojure .hljs-attribute {
25 | color: #96cbfe;
26 | }
27 |
28 | .hljs-sub .hljs-keyword,
29 | .method,
30 | .hljs-list .hljs-title,
31 | .nginx .hljs-title {
32 | color: #ffffb6;
33 | }
34 |
35 | .hljs-string,
36 | .hljs-tag .hljs-value,
37 | .hljs-cdata,
38 | .hljs-filter .hljs-argument,
39 | .hljs-attr_selector,
40 | .apache .hljs-cbracket,
41 | .hljs-date,
42 | .coffeescript .hljs-attribute {
43 | color: #a8ff60;
44 | }
45 |
46 | .hljs-subst {
47 | color: #daefa3;
48 | }
49 |
50 | .hljs-regexp {
51 | color: #e9c062;
52 | }
53 |
54 | .hljs-title,
55 | .hljs-sub .hljs-identifier,
56 | .hljs-pi,
57 | .hljs-decorator,
58 | .tex .hljs-special,
59 | .hljs-type,
60 | .hljs-constant,
61 | .smalltalk .hljs-class,
62 | .hljs-doctag,
63 | .nginx .hljs-built_in {
64 | color: #ffffb6;
65 | }
66 |
67 | .hljs-symbol,
68 | .ruby .hljs-symbol .hljs-string,
69 | .hljs-number,
70 | .hljs-variable,
71 | .vbscript,
72 | .hljs-literal,
73 | .hljs-name {
74 | color: #c6c5fe;
75 | }
76 |
77 | .css .hljs-tag {
78 | color: #96cbfe;
79 | }
80 |
81 | .css .hljs-rule .hljs-property,
82 | .css .hljs-id {
83 | color: #ffffb6;
84 | }
85 |
86 | .css .hljs-class {
87 | color: #fff;
88 | }
89 |
90 | .hljs-hexcolor {
91 | color: #c6c5fe;
92 | }
93 |
94 | .hljs-number {
95 | color:#ff73fd;
96 | }
97 |
98 | .coffeescript .javascript,
99 | .javascript .xml,
100 | .tex .hljs-formula,
101 | .xml .javascript,
102 | .xml .vbscript,
103 | .xml .css,
104 | .xml .hljs-cdata {
105 | opacity: 0.7;
106 | }
107 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/kimbie.dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (dark)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-title {
11 | color: #d6baad;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-attribute,
17 | .hljs-tag,
18 | .hljs-regexp,
19 | .hljs-name,
20 | .ruby .hljs-constant,
21 | .xml .hljs-tag .hljs-title,
22 | .xml .hljs-pi,
23 | .xml .hljs-doctype,
24 | .html .hljs-doctype,
25 | .css .hljs-id,
26 | .css .hljs-class,
27 | .css .hljs-pseudo {
28 | color: #dc3958;
29 | }
30 |
31 | /* Kimbie Orange */
32 | .hljs-number,
33 | .hljs-preprocessor,
34 | .hljs-built_in,
35 | .hljs-literal,
36 | .hljs-params,
37 | .hljs-constant {
38 | color: #f79a32;
39 | }
40 |
41 | /* Kimbie Yellow */
42 | .ruby .hljs-class .hljs-title,
43 | .css .hljs-rule .hljs-attribute {
44 | color: #f06431;
45 | }
46 |
47 | /* Kimbie Green */
48 | .hljs-string,
49 | .hljs-value,
50 | .hljs-inheritance,
51 | .hljs-header,
52 | .ruby .hljs-symbol,
53 | .xml .hljs-cdata {
54 | color: #889b4a;
55 | }
56 |
57 | /* Kimbie Aqua */
58 | .css .hljs-hexcolor {
59 | color: #088649;
60 | }
61 |
62 | /* Kimbie Blue */
63 | .hljs-function,
64 | .python .hljs-decorator,
65 | .python .hljs-title,
66 | .ruby .hljs-function .hljs-title,
67 | .ruby .hljs-title .hljs-keyword,
68 | .perl .hljs-sub,
69 | .javascript .hljs-title,
70 | .coffeescript .hljs-title {
71 | color: #8ab1b0;
72 | }
73 |
74 | /* Kimbie Purple */
75 | .hljs-keyword,
76 | .javascript .hljs-function {
77 | color: #98676a;
78 | }
79 |
80 | .hljs {
81 | display: block;
82 | overflow-x: auto;
83 | background: #221a0f;
84 | color: #d3af86;
85 | padding: 0.5em;
86 | -webkit-text-size-adjust: none;
87 | }
88 |
89 | .coffeescript .javascript,
90 | .javascript .xml,
91 | .tex .hljs-formula,
92 | .xml .javascript,
93 | .xml .vbscript,
94 | .xml .css,
95 | .xml .hljs-cdata {
96 | opacity: 0.5;
97 | }
98 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/kimbie.light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (light)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-title {
11 | color: #a57a4c;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-attribute,
17 | .hljs-tag,
18 | .hljs-regexp,
19 | .hljs-name,
20 | .ruby .hljs-constant,
21 | .xml .hljs-tag .hljs-title,
22 | .xml .hljs-pi,
23 | .xml .hljs-doctype,
24 | .html .hljs-doctype,
25 | .css .hljs-id,
26 | .css .hljs-class,
27 | .css .hljs-pseudo {
28 | color: #dc3958;
29 | }
30 |
31 | /* Kimbie Orange */
32 | .hljs-number,
33 | .hljs-preprocessor,
34 | .hljs-built_in,
35 | .hljs-literal,
36 | .hljs-params,
37 | .hljs-constant {
38 | color: #f79a32;
39 | }
40 |
41 | /* Kimbie Yellow */
42 | .ruby .hljs-class .hljs-title,
43 | .css .hljs-rule .hljs-attribute {
44 | color: #f06431;
45 | }
46 |
47 | /* Kimbie Green */
48 | .hljs-string,
49 | .hljs-value,
50 | .hljs-inheritance,
51 | .hljs-header,
52 | .ruby .hljs-symbol,
53 | .xml .hljs-cdata {
54 | color: #889b4a;
55 | }
56 |
57 | /* Kimbie Aqua */
58 | .css .hljs-hexcolor {
59 | color: #088649;
60 | }
61 |
62 | /* Kimbie Blue */
63 | .hljs-function,
64 | .python .hljs-decorator,
65 | .python .hljs-title,
66 | .ruby .hljs-function .hljs-title,
67 | .ruby .hljs-title .hljs-keyword,
68 | .perl .hljs-sub,
69 | .javascript .hljs-title,
70 | .coffeescript .hljs-title {
71 | color: #8ab1b0;
72 | }
73 |
74 | /* Kimbie Purple */
75 | .hljs-keyword,
76 | .javascript .hljs-function {
77 | color: #98676a;
78 | }
79 |
80 | .hljs {
81 | display: block;
82 | overflow-x: auto;
83 | background: #fbebd4;
84 | color: #84613d;
85 | padding: 0.5em;
86 | -webkit-text-size-adjust: none;
87 | }
88 |
89 | .coffeescript .javascript,
90 | .javascript .xml,
91 | .tex .hljs-formula,
92 | .xml .javascript,
93 | .xml .vbscript,
94 | .xml .css,
95 | .xml .hljs-cdata {
96 | opacity: 0.5;
97 | }
98 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/magula.css:
--------------------------------------------------------------------------------
1 | /*
2 | Description: Magula style for highligh.js
3 | Author: Ruslan Keba
4 | Website: http://rukeba.com/
5 | Version: 1.0
6 | Date: 2009-01-03
7 | Music: Aphex Twin / Xtal
8 | */
9 |
10 | .hljs {
11 | display: block;
12 | overflow-x: auto;
13 | padding: 0.5em;
14 | background-color: #f4f4f4;
15 | -webkit-text-size-adjust: none;
16 | }
17 |
18 | .hljs,
19 | .hljs-subst {
20 | color: black;
21 | }
22 |
23 | .hljs-string,
24 | .hljs-title,
25 | .hljs-parent,
26 | .hljs-tag .hljs-value,
27 | .hljs-rule .hljs-value,
28 | .hljs-preprocessor,
29 | .hljs-pragma,
30 | .ruby .hljs-symbol,
31 | .ruby .hljs-symbol .hljs-string,
32 | .hljs-template_tag,
33 | .django .hljs-variable,
34 | .smalltalk .hljs-class,
35 | .hljs-addition,
36 | .hljs-flow,
37 | .hljs-stream,
38 | .bash .hljs-variable,
39 | .apache .hljs-cbracket,
40 | .coffeescript .hljs-attribute {
41 | color: #050;
42 | }
43 |
44 | .hljs-comment,
45 | .hljs-annotation,
46 | .diff .hljs-header,
47 | .hljs-chunk {
48 | color: #777;
49 | }
50 |
51 | .hljs-number,
52 | .hljs-date,
53 | .hljs-regexp,
54 | .hljs-literal,
55 | .hljs-name,
56 | .smalltalk .hljs-symbol,
57 | .smalltalk .hljs-char,
58 | .hljs-change,
59 | .tex .hljs-special {
60 | color: #800;
61 | }
62 |
63 | .hljs-label,
64 | .ruby .hljs-string,
65 | .hljs-decorator,
66 | .hljs-filter .hljs-argument,
67 | .hljs-localvars,
68 | .hljs-array,
69 | .hljs-attr_selector,
70 | .hljs-pseudo,
71 | .hljs-pi,
72 | .hljs-doctype,
73 | .hljs-deletion,
74 | .hljs-envvar,
75 | .hljs-shebang,
76 | .apache .hljs-sqbracket,
77 | .nginx .hljs-built_in,
78 | .tex .hljs-formula,
79 | .hljs-prompt,
80 | .clojure .hljs-attribute {
81 | color: #00e;
82 | }
83 |
84 | .hljs-keyword,
85 | .hljs-id,
86 | .hljs-doctag,
87 | .hljs-title,
88 | .hljs-built_in,
89 | .smalltalk .hljs-class,
90 | .hljs-winutils,
91 | .bash .hljs-variable,
92 | .apache .hljs-tag,
93 | .xml .hljs-tag,
94 | .tex .hljs-command,
95 | .hljs-request,
96 | .hljs-status {
97 | font-weight: bold;
98 | color: navy;
99 | }
100 |
101 | .nginx .hljs-built_in {
102 | font-weight: normal;
103 | }
104 |
105 | .coffeescript .javascript,
106 | .javascript .xml,
107 | .tex .hljs-formula,
108 | .xml .javascript,
109 | .xml .vbscript,
110 | .xml .css,
111 | .xml .hljs-cdata {
112 | opacity: 0.5;
113 | }
114 |
115 | /* --- */
116 | .apache .hljs-tag {
117 | font-weight: bold;
118 | color: blue;
119 | }
120 |
121 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/mono-blue.css:
--------------------------------------------------------------------------------
1 | /*
2 | Five-color theme from a single blue hue.
3 | */
4 | .hljs {
5 | display: block;
6 | overflow-x: auto;
7 | padding: 0.5em;
8 | background: #eaeef3;
9 | -webkit-text-size-adjust: none;
10 | }
11 |
12 | .hljs,
13 | .hljs-list .hljs-built_in {
14 | color: #00193a;
15 | }
16 |
17 | .hljs-keyword,
18 | .hljs-title,
19 | .hljs-important,
20 | .hljs-request,
21 | .hljs-header,
22 | .hljs-doctag {
23 | font-weight: bold;
24 | }
25 |
26 | .hljs-comment,
27 | .hljs-chunk {
28 | color: #738191;
29 | }
30 |
31 | .hljs-string,
32 | .hljs-title,
33 | .hljs-parent,
34 | .hljs-built_in,
35 | .hljs-literal,
36 | .hljs-filename,
37 | .hljs-value,
38 | .hljs-addition,
39 | .hljs-tag,
40 | .hljs-argument,
41 | .hljs-link_label,
42 | .hljs-blockquote,
43 | .hljs-header,
44 | .hljs-name {
45 | color: #0048ab;
46 | }
47 |
48 | .hljs-decorator,
49 | .hljs-prompt,
50 | .hljs-subst,
51 | .hljs-symbol,
52 | .hljs-doctype,
53 | .hljs-regexp,
54 | .hljs-preprocessor,
55 | .hljs-pragma,
56 | .hljs-pi,
57 | .hljs-attribute,
58 | .hljs-attr_selector,
59 | .hljs-xmlDocTag,
60 | .hljs-deletion,
61 | .hljs-shebang,
62 | .hljs-string .hljs-variable,
63 | .hljs-link_url,
64 | .hljs-bullet,
65 | .hljs-sqbracket,
66 | .hljs-phony {
67 | color: #4c81c9;
68 | }
69 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/monokai.css:
--------------------------------------------------------------------------------
1 | /*
2 | Monokai style - ported by Luigi Maselli - http://grigio.org
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #272822;
10 | -webkit-text-size-adjust: none;
11 | }
12 |
13 | .hljs-tag,
14 | .hljs-tag .hljs-title,
15 | .hljs-keyword,
16 | .hljs-literal,
17 | .hljs-strong,
18 | .hljs-change,
19 | .hljs-winutils,
20 | .hljs-flow,
21 | .nginx .hljs-title,
22 | .tex .hljs-special {
23 | color: #f92672;
24 | }
25 |
26 | .hljs {
27 | color: #ddd;
28 | }
29 |
30 | .hljs .hljs-constant,
31 | .asciidoc .hljs-code,
32 | .markdown .hljs-code {
33 | color: #66d9ef;
34 | }
35 |
36 | .hljs-code,
37 | .hljs-class .hljs-title,
38 | .hljs-header {
39 | color: white;
40 | }
41 |
42 | .hljs-link_label,
43 | .hljs-attribute,
44 | .hljs-symbol,
45 | .hljs-symbol .hljs-string,
46 | .hljs-value,
47 | .hljs-regexp {
48 | color: #bf79db;
49 | }
50 |
51 | .hljs-link_url,
52 | .hljs-tag .hljs-value,
53 | .hljs-string,
54 | .hljs-bullet,
55 | .hljs-subst,
56 | .hljs-title,
57 | .hljs-emphasis,
58 | .hljs-type,
59 | .hljs-preprocessor,
60 | .hljs-pragma,
61 | .ruby .hljs-class .hljs-parent,
62 | .hljs-built_in,
63 | .django .hljs-template_tag,
64 | .django .hljs-variable,
65 | .smalltalk .hljs-class,
66 | .django .hljs-filter .hljs-argument,
67 | .smalltalk .hljs-localvars,
68 | .smalltalk .hljs-array,
69 | .hljs-attr_selector,
70 | .hljs-pseudo,
71 | .hljs-addition,
72 | .hljs-stream,
73 | .hljs-envvar,
74 | .apache .hljs-tag,
75 | .apache .hljs-cbracket,
76 | .tex .hljs-command,
77 | .hljs-prompt,
78 | .hljs-name {
79 | color: #a6e22e;
80 | }
81 |
82 | .hljs-comment,
83 | .hljs-annotation,
84 | .smartquote,
85 | .hljs-blockquote,
86 | .hljs-horizontal_rule,
87 | .hljs-decorator,
88 | .hljs-pi,
89 | .hljs-doctype,
90 | .hljs-deletion,
91 | .hljs-shebang,
92 | .apache .hljs-sqbracket,
93 | .tex .hljs-formula {
94 | color: #75715e;
95 | }
96 |
97 | .hljs-keyword,
98 | .hljs-literal,
99 | .css .hljs-id,
100 | .hljs-doctag,
101 | .hljs-title,
102 | .hljs-header,
103 | .hljs-type,
104 | .vbscript .hljs-built_in,
105 | .rsl .hljs-built_in,
106 | .smalltalk .hljs-class,
107 | .diff .hljs-header,
108 | .hljs-chunk,
109 | .hljs-winutils,
110 | .bash .hljs-variable,
111 | .apache .hljs-tag,
112 | .tex .hljs-special,
113 | .hljs-request,
114 | .hljs-status {
115 | font-weight: bold;
116 | }
117 |
118 | .coffeescript .javascript,
119 | .javascript .xml,
120 | .tex .hljs-formula,
121 | .xml .javascript,
122 | .xml .vbscript,
123 | .xml .css,
124 | .xml .hljs-cdata {
125 | opacity: 0.5;
126 | }
127 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/paraiso.dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (dark)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-title {
10 | color: #8d8687;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-attribute,
16 | .hljs-tag,
17 | .hljs-regexp,
18 | .hljs-name,
19 | .ruby .hljs-constant,
20 | .xml .hljs-tag .hljs-title,
21 | .xml .hljs-pi,
22 | .xml .hljs-doctype,
23 | .html .hljs-doctype,
24 | .css .hljs-id,
25 | .css .hljs-class,
26 | .css .hljs-pseudo {
27 | color: #ef6155;
28 | }
29 |
30 | /* Paraíso Orange */
31 | .hljs-number,
32 | .hljs-preprocessor,
33 | .hljs-built_in,
34 | .hljs-literal,
35 | .hljs-params,
36 | .hljs-constant {
37 | color: #f99b15;
38 | }
39 |
40 | /* Paraíso Yellow */
41 | .ruby .hljs-class .hljs-title,
42 | .css .hljs-rule .hljs-attribute {
43 | color: #fec418;
44 | }
45 |
46 | /* Paraíso Green */
47 | .hljs-string,
48 | .hljs-value,
49 | .hljs-inheritance,
50 | .hljs-header,
51 | .ruby .hljs-symbol,
52 | .xml .hljs-cdata {
53 | color: #48b685;
54 | }
55 |
56 | /* Paraíso Aqua */
57 | .css .hljs-hexcolor {
58 | color: #5bc4bf;
59 | }
60 |
61 | /* Paraíso Blue */
62 | .hljs-function,
63 | .python .hljs-decorator,
64 | .python .hljs-title,
65 | .ruby .hljs-function .hljs-title,
66 | .ruby .hljs-title .hljs-keyword,
67 | .perl .hljs-sub,
68 | .javascript .hljs-title,
69 | .coffeescript .hljs-title {
70 | color: #06b6ef;
71 | }
72 |
73 | /* Paraíso Purple */
74 | .hljs-keyword,
75 | .javascript .hljs-function {
76 | color: #815ba4;
77 | }
78 |
79 | .hljs {
80 | display: block;
81 | overflow-x: auto;
82 | background: #2f1e2e;
83 | color: #a39e9b;
84 | padding: 0.5em;
85 | -webkit-text-size-adjust: none;
86 | }
87 |
88 | .coffeescript .javascript,
89 | .javascript .xml,
90 | .tex .hljs-formula,
91 | .xml .javascript,
92 | .xml .vbscript,
93 | .xml .css,
94 | .xml .hljs-cdata {
95 | opacity: 0.5;
96 | }
97 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/paraiso.light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (light)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-title {
10 | color: #776e71;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-attribute,
16 | .hljs-tag,
17 | .hljs-regexp,
18 | .hljs-name,
19 | .ruby .hljs-constant,
20 | .xml .hljs-tag .hljs-title,
21 | .xml .hljs-pi,
22 | .xml .hljs-doctype,
23 | .html .hljs-doctype,
24 | .css .hljs-id,
25 | .css .hljs-class,
26 | .css .hljs-pseudo {
27 | color: #ef6155;
28 | }
29 |
30 | /* Paraíso Orange */
31 | .hljs-number,
32 | .hljs-preprocessor,
33 | .hljs-built_in,
34 | .hljs-literal,
35 | .hljs-params,
36 | .hljs-constant {
37 | color: #f99b15;
38 | }
39 |
40 | /* Paraíso Yellow */
41 | .ruby .hljs-class .hljs-title,
42 | .css .hljs-rule .hljs-attribute {
43 | color: #fec418;
44 | }
45 |
46 | /* Paraíso Green */
47 | .hljs-string,
48 | .hljs-value,
49 | .hljs-inheritance,
50 | .hljs-header,
51 | .ruby .hljs-symbol,
52 | .xml .hljs-cdata {
53 | color: #48b685;
54 | }
55 |
56 | /* Paraíso Aqua */
57 | .css .hljs-hexcolor {
58 | color: #5bc4bf;
59 | }
60 |
61 | /* Paraíso Blue */
62 | .hljs-function,
63 | .python .hljs-decorator,
64 | .python .hljs-title,
65 | .ruby .hljs-function .hljs-title,
66 | .ruby .hljs-title .hljs-keyword,
67 | .perl .hljs-sub,
68 | .javascript .hljs-title,
69 | .coffeescript .hljs-title {
70 | color: #06b6ef;
71 | }
72 |
73 | /* Paraíso Purple */
74 | .hljs-keyword,
75 | .javascript .hljs-function {
76 | color: #815ba4;
77 | }
78 |
79 | .hljs {
80 | display: block;
81 | overflow-x: auto;
82 | background: #e7e9db;
83 | color: #4f424c;
84 | padding: 0.5em;
85 | -webkit-text-size-adjust: none;
86 | }
87 |
88 | .coffeescript .javascript,
89 | .javascript .xml,
90 | .tex .hljs-formula,
91 | .xml .javascript,
92 | .xml .vbscript,
93 | .xml .css,
94 | .xml .hljs-cdata {
95 | opacity: 0.5;
96 | }
97 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/pojoaque.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Pojoaque Style by Jason Tate
4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
5 | Based on Solarized Style from http://ethanschoonover.com/solarized
6 |
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | color: #dccf8f;
14 | background: url(./pojoaque.jpg) repeat scroll left top #181914;
15 | -webkit-text-size-adjust: none;
16 | }
17 |
18 | .hljs-comment,
19 | .diff .hljs-header,
20 | .hljs-doctype,
21 | .lisp .hljs-string {
22 | color: #586e75;
23 | font-style: italic;
24 | }
25 |
26 | .hljs-keyword,
27 | .css .rule .hljs-keyword,
28 | .hljs-winutils,
29 | .javascript .hljs-title,
30 | .method,
31 | .hljs-addition,
32 | .css .hljs-tag,
33 | .hljs-list .hljs-keyword,
34 | .nginx .hljs-title {
35 | color: #b64926;
36 | }
37 |
38 | .hljs-number,
39 | .hljs-command,
40 | .hljs-string,
41 | .hljs-tag .hljs-value,
42 | .hljs-doctag,
43 | .tex .hljs-formula,
44 | .hljs-regexp,
45 | .hljs-hexcolor {
46 | color: #468966;
47 | }
48 |
49 | .hljs-title,
50 | .hljs-localvars,
51 | .hljs-function .hljs-title,
52 | .hljs-chunk,
53 | .hljs-decorator,
54 | .hljs-built_in,
55 | .hljs-identifier,
56 | .hljs-name,
57 | .hljs-id {
58 | color: #ffb03b;
59 | }
60 |
61 | .hljs-attribute,
62 | .hljs-variable,
63 | .lisp .hljs-body,
64 | .smalltalk .hljs-number,
65 | .hljs-constant,
66 | .hljs-class .hljs-title,
67 | .hljs-parent,
68 | .hljs-type {
69 | color: #b58900;
70 | }
71 |
72 | .css .hljs-attribute {
73 | color: #b89859;
74 | }
75 |
76 | .css .hljs-number,
77 | .css .hljs-hexcolor {
78 | color: #dccf8f;
79 | }
80 |
81 | .css .hljs-class {
82 | color: #d3a60c;
83 | }
84 |
85 | .hljs-preprocessor,
86 | .hljs-pragma,
87 | .hljs-pi,
88 | .hljs-shebang,
89 | .hljs-symbol,
90 | .hljs-symbol .hljs-string,
91 | .diff .hljs-change,
92 | .hljs-special,
93 | .hljs-attr_selector,
94 | .hljs-important,
95 | .hljs-subst,
96 | .hljs-cdata {
97 | color: #cb4b16;
98 | }
99 |
100 | .hljs-deletion {
101 | color: #dc322f;
102 | }
103 |
104 | .tex .hljs-formula {
105 | background: #073642;
106 | }
107 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/pojoaque.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/pojoaque.jpg
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/rainbow.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Style with support for rainbow parens
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #474949;
12 | color: #d1d9e1;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 |
17 | .hljs-body,
18 | .hljs-collection {
19 | color: #d1d9e1;
20 | }
21 |
22 | .hljs-comment,
23 | .diff .hljs-header,
24 | .hljs-doctype,
25 | .lisp .hljs-string {
26 | color: #969896;
27 | font-style: italic;
28 | }
29 |
30 | .hljs-keyword,
31 | .clojure .hljs-attribute,
32 | .hljs-winutils,
33 | .javascript .hljs-title,
34 | .hljs-addition,
35 | .css .hljs-tag {
36 | color: #cc99cc;
37 | }
38 |
39 | .hljs-number { color: #f99157; }
40 |
41 | .hljs-command,
42 | .hljs-string,
43 | .hljs-tag .hljs-value,
44 | .hljs-doctag,
45 | .tex .hljs-formula,
46 | .hljs-regexp,
47 | .hljs-hexcolor {
48 | color: #8abeb7;
49 | }
50 |
51 | .hljs-title,
52 | .hljs-localvars,
53 | .hljs-function .hljs-title,
54 | .hljs-chunk,
55 | .hljs-decorator,
56 | .hljs-built_in,
57 | .hljs-identifier {
58 | color: #b5bd68;
59 | }
60 |
61 | .hljs-class .hljs-keyword {
62 | color: #f2777a;
63 | }
64 |
65 | .hljs-variable,
66 | .smalltalk .hljs-number,
67 | .hljs-constant,
68 | .hljs-class .hljs-title,
69 | .hljs-parent,
70 | .haskell .hljs-label,
71 | .hljs-id,
72 | .hljs-name {
73 | color: #ffcc66;
74 | }
75 |
76 | .hljs-tag .hljs-title,
77 | .hljs-rule .hljs-property,
78 | .django .hljs-tag .hljs-keyword {
79 | font-weight: bold;
80 | }
81 |
82 | .hljs-attribute {
83 | color: #81a2be;
84 | }
85 |
86 | .hljs-preprocessor,
87 | .hljs-pragma,
88 | .hljs-pi,
89 | .hljs-shebang,
90 | .hljs-symbol,
91 | .hljs-symbol .hljs-string,
92 | .diff .hljs-change,
93 | .hljs-special,
94 | .hljs-attr_selector,
95 | .hljs-important,
96 | .hljs-subst,
97 | .hljs-cdata {
98 | color: #f99157;
99 | }
100 |
101 | .hljs-deletion {
102 | color: #dc322f;
103 | }
104 |
105 | .tex .hljs-formula {
106 | background: #eee8d5;
107 | }
108 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/school_book.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | School Book style from goldblog.com.ua (c) Zaripov Yura
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 15px 0.5em 0.5em 30px;
11 | font-size: 11px !important;
12 | line-height:16px !important;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | pre{
17 | background:#f6f6ae url(./school_book.png);
18 | border-top: solid 2px #d2e8b9;
19 | border-bottom: solid 1px #d2e8b9;
20 | }
21 |
22 | .hljs-keyword,
23 | .hljs-literal,
24 | .hljs-change,
25 | .hljs-winutils,
26 | .hljs-flow,
27 | .nginx .hljs-title,
28 | .tex .hljs-special {
29 | color:#005599;
30 | font-weight:bold;
31 | }
32 |
33 | .hljs,
34 | .hljs-subst,
35 | .hljs-tag .hljs-keyword {
36 | color: #3e5915;
37 | }
38 |
39 | .hljs-string,
40 | .hljs-title,
41 | .hljs-type,
42 | .hljs-tag .hljs-value,
43 | .css .hljs-rule .hljs-value,
44 | .hljs-preprocessor,
45 | .hljs-pragma,
46 | .ruby .hljs-symbol,
47 | .ruby .hljs-symbol .hljs-string,
48 | .ruby .hljs-class .hljs-parent,
49 | .hljs-built_in,
50 | .django .hljs-template_tag,
51 | .django .hljs-variable,
52 | .smalltalk .hljs-class,
53 | .ruby .hljs-string,
54 | .django .hljs-filter .hljs-argument,
55 | .smalltalk .hljs-localvars,
56 | .smalltalk .hljs-array,
57 | .hljs-attr_selector,
58 | .hljs-pseudo,
59 | .hljs-addition,
60 | .hljs-stream,
61 | .hljs-envvar,
62 | .apache .hljs-tag,
63 | .apache .hljs-cbracket,
64 | .nginx .hljs-built_in,
65 | .tex .hljs-command,
66 | .coffeescript .hljs-attribute,
67 | .hljs-name {
68 | color: #2c009f;
69 | }
70 |
71 | .hljs-comment,
72 | .hljs-annotation,
73 | .hljs-decorator,
74 | .hljs-pi,
75 | .hljs-doctype,
76 | .hljs-deletion,
77 | .hljs-shebang,
78 | .apache .hljs-sqbracket {
79 | color: #e60415;
80 | }
81 |
82 | .hljs-keyword,
83 | .hljs-literal,
84 | .css .hljs-id,
85 | .hljs-doctag,
86 | .hljs-title,
87 | .hljs-type,
88 | .vbscript .hljs-built_in,
89 | .rsl .hljs-built_in,
90 | .smalltalk .hljs-class,
91 | .xml .hljs-tag .hljs-title,
92 | .diff .hljs-header,
93 | .hljs-chunk,
94 | .hljs-winutils,
95 | .bash .hljs-variable,
96 | .apache .hljs-tag,
97 | .tex .hljs-command,
98 | .hljs-request,
99 | .hljs-status {
100 | font-weight: bold;
101 | }
102 |
103 | .coffeescript .javascript,
104 | .javascript .xml,
105 | .tex .hljs-formula,
106 | .xml .javascript,
107 | .xml .vbscript,
108 | .xml .css,
109 | .xml .hljs-cdata {
110 | opacity: 0.5;
111 | }
112 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/school_book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/school_book.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/solarized_dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #002b36;
12 | color: #839496;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-comment,
17 | .diff .hljs-header,
18 | .hljs-doctype,
19 | .hljs-pi,
20 | .lisp .hljs-string {
21 | color: #586e75;
22 | }
23 |
24 | /* Solarized Green */
25 | .hljs-keyword,
26 | .hljs-winutils,
27 | .method,
28 | .hljs-addition,
29 | .css .hljs-tag,
30 | .hljs-request,
31 | .hljs-status,
32 | .nginx .hljs-title {
33 | color: #859900;
34 | }
35 |
36 | /* Solarized Cyan */
37 | .hljs-number,
38 | .hljs-command,
39 | .hljs-string,
40 | .hljs-tag .hljs-value,
41 | .hljs-rule .hljs-value,
42 | .hljs-doctag,
43 | .tex .hljs-formula,
44 | .hljs-regexp,
45 | .hljs-hexcolor,
46 | .hljs-link_url {
47 | color: #2aa198;
48 | }
49 |
50 | /* Solarized Blue */
51 | .hljs-title,
52 | .hljs-localvars,
53 | .hljs-chunk,
54 | .hljs-decorator,
55 | .hljs-built_in,
56 | .hljs-identifier,
57 | .vhdl .hljs-literal,
58 | .hljs-id,
59 | .css .hljs-function,
60 | .hljs-name {
61 | color: #268bd2;
62 | }
63 |
64 | /* Solarized Yellow */
65 | .hljs-attribute,
66 | .hljs-variable,
67 | .lisp .hljs-body,
68 | .smalltalk .hljs-number,
69 | .hljs-constant,
70 | .hljs-class .hljs-title,
71 | .hljs-parent,
72 | .hljs-type,
73 | .hljs-link_reference {
74 | color: #b58900;
75 | }
76 |
77 | /* Solarized Orange */
78 | .hljs-preprocessor,
79 | .hljs-preprocessor .hljs-keyword,
80 | .hljs-pragma,
81 | .hljs-shebang,
82 | .hljs-symbol,
83 | .hljs-symbol .hljs-string,
84 | .diff .hljs-change,
85 | .hljs-special,
86 | .hljs-attr_selector,
87 | .hljs-subst,
88 | .hljs-cdata,
89 | .css .hljs-pseudo,
90 | .hljs-header {
91 | color: #cb4b16;
92 | }
93 |
94 | /* Solarized Red */
95 | .hljs-deletion,
96 | .hljs-important {
97 | color: #dc322f;
98 | }
99 |
100 | /* Solarized Violet */
101 | .hljs-link_label {
102 | color: #6c71c4;
103 | }
104 |
105 | .tex .hljs-formula {
106 | background: #073642;
107 | }
108 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/solarized_light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fdf6e3;
12 | color: #657b83;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-comment,
17 | .diff .hljs-header,
18 | .hljs-doctype,
19 | .hljs-pi,
20 | .lisp .hljs-string {
21 | color: #93a1a1;
22 | }
23 |
24 | /* Solarized Green */
25 | .hljs-keyword,
26 | .hljs-winutils,
27 | .method,
28 | .hljs-addition,
29 | .css .hljs-tag,
30 | .hljs-request,
31 | .hljs-status,
32 | .nginx .hljs-title {
33 | color: #859900;
34 | }
35 |
36 | /* Solarized Cyan */
37 | .hljs-number,
38 | .hljs-command,
39 | .hljs-string,
40 | .hljs-tag .hljs-value,
41 | .hljs-rule .hljs-value,
42 | .hljs-doctag,
43 | .tex .hljs-formula,
44 | .hljs-regexp,
45 | .hljs-hexcolor,
46 | .hljs-link_url {
47 | color: #2aa198;
48 | }
49 |
50 | /* Solarized Blue */
51 | .hljs-title,
52 | .hljs-localvars,
53 | .hljs-chunk,
54 | .hljs-decorator,
55 | .hljs-built_in,
56 | .hljs-identifier,
57 | .vhdl .hljs-literal,
58 | .hljs-id,
59 | .css .hljs-function,
60 | .hljs-name {
61 | color: #268bd2;
62 | }
63 |
64 | /* Solarized Yellow */
65 | .hljs-attribute,
66 | .hljs-variable,
67 | .lisp .hljs-body,
68 | .smalltalk .hljs-number,
69 | .hljs-constant,
70 | .hljs-class .hljs-title,
71 | .hljs-parent,
72 | .hljs-type,
73 | .hljs-link_reference {
74 | color: #b58900;
75 | }
76 |
77 | /* Solarized Orange */
78 | .hljs-preprocessor,
79 | .hljs-preprocessor .hljs-keyword,
80 | .hljs-pragma,
81 | .hljs-shebang,
82 | .hljs-symbol,
83 | .hljs-symbol .hljs-string,
84 | .diff .hljs-change,
85 | .hljs-special,
86 | .hljs-attr_selector,
87 | .hljs-subst,
88 | .hljs-cdata,
89 | .css .hljs-pseudo,
90 | .hljs-header {
91 | color: #cb4b16;
92 | }
93 |
94 | /* Solarized Red */
95 | .hljs-deletion,
96 | .hljs-important {
97 | color: #dc322f;
98 | }
99 |
100 | /* Solarized Violet */
101 | .hljs-link_label {
102 | color: #6c71c4;
103 | }
104 |
105 | .tex .hljs-formula {
106 | background: #eee8d5;
107 | }
108 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/tomorrow-night-blue.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Blue Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment {
8 | color: #7285b7;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-attribute,
14 | .hljs-tag,
15 | .hljs-regexp,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ff9da4;
25 | }
26 |
27 | /* Tomorrow Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-pragma,
31 | .hljs-built_in,
32 | .hljs-literal,
33 | .hljs-params,
34 | .hljs-constant {
35 | color: #ffc58f;
36 | }
37 |
38 | /* Tomorrow Yellow */
39 | .ruby .hljs-class .hljs-title,
40 | .css .hljs-rule .hljs-attribute {
41 | color: #ffeead;
42 | }
43 |
44 | /* Tomorrow Green */
45 | .hljs-string,
46 | .hljs-value,
47 | .hljs-inheritance,
48 | .hljs-header,
49 | .hljs-name,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #d1f1a9;
53 | }
54 |
55 | /* Tomorrow Aqua */
56 | .hljs-title,
57 | .css .hljs-hexcolor {
58 | color: #99ffff;
59 | }
60 |
61 | /* Tomorrow Blue */
62 | .hljs-function,
63 | .python .hljs-decorator,
64 | .python .hljs-title,
65 | .ruby .hljs-function .hljs-title,
66 | .ruby .hljs-title .hljs-keyword,
67 | .perl .hljs-sub,
68 | .javascript .hljs-title,
69 | .coffeescript .hljs-title {
70 | color: #bbdaff;
71 | }
72 |
73 | /* Tomorrow Purple */
74 | .hljs-keyword,
75 | .javascript .hljs-function {
76 | color: #ebbbff;
77 | }
78 |
79 | .hljs {
80 | display: block;
81 | overflow-x: auto;
82 | background: #002451;
83 | color: white;
84 | padding: 0.5em;
85 | -webkit-text-size-adjust: none;
86 | }
87 |
88 | .coffeescript .javascript,
89 | .javascript .xml,
90 | .tex .hljs-formula,
91 | .xml .javascript,
92 | .xml .vbscript,
93 | .xml .css,
94 | .xml .hljs-cdata {
95 | opacity: 0.5;
96 | }
97 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/tomorrow-night-bright.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Bright Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment {
7 | color: #969896;
8 | }
9 |
10 | /* Tomorrow Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .ruby .hljs-constant,
16 | .xml .hljs-tag .hljs-title,
17 | .xml .hljs-pi,
18 | .xml .hljs-doctype,
19 | .html .hljs-doctype,
20 | .css .hljs-id,
21 | .css .hljs-class,
22 | .css .hljs-pseudo {
23 | color: #d54e53;
24 | }
25 |
26 | /* Tomorrow Orange */
27 | .hljs-number,
28 | .hljs-preprocessor,
29 | .hljs-pragma,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #e78c45;
35 | }
36 |
37 | /* Tomorrow Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #e7c547;
41 | }
42 |
43 | /* Tomorrow Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .hljs-name,
49 | .ruby .hljs-symbol,
50 | .xml .hljs-cdata {
51 | color: #b9ca4a;
52 | }
53 |
54 | /* Tomorrow Aqua */
55 | .hljs-title,
56 | .css .hljs-hexcolor {
57 | color: #70c0b1;
58 | }
59 |
60 | /* Tomorrow Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #7aa6da;
70 | }
71 |
72 | /* Tomorrow Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #c397d8;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: black;
82 | color: #eaeaea;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/tomorrow-night-eighties.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Eighties Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment {
7 | color: #999999;
8 | }
9 |
10 | /* Tomorrow Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .ruby .hljs-constant,
16 | .xml .hljs-tag .hljs-title,
17 | .xml .hljs-pi,
18 | .xml .hljs-doctype,
19 | .html .hljs-doctype,
20 | .css .hljs-id,
21 | .css .hljs-class,
22 | .css .hljs-pseudo {
23 | color: #f2777a;
24 | }
25 |
26 | /* Tomorrow Orange */
27 | .hljs-number,
28 | .hljs-preprocessor,
29 | .hljs-pragma,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #f99157;
35 | }
36 |
37 | /* Tomorrow Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #ffcc66;
41 | }
42 |
43 | /* Tomorrow Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .hljs-name,
49 | .ruby .hljs-symbol,
50 | .xml .hljs-cdata {
51 | color: #99cc99;
52 | }
53 |
54 | /* Tomorrow Aqua */
55 | .hljs-title,
56 | .css .hljs-hexcolor {
57 | color: #66cccc;
58 | }
59 |
60 | /* Tomorrow Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #6699cc;
70 | }
71 |
72 | /* Tomorrow Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #cc99cc;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #2d2d2d;
82 | color: #cccccc;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/tomorrow-night.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment {
8 | color: #969896;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-attribute,
14 | .hljs-tag,
15 | .hljs-regexp,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #cc6666;
25 | }
26 |
27 | /* Tomorrow Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-pragma,
31 | .hljs-built_in,
32 | .hljs-literal,
33 | .hljs-params,
34 | .hljs-constant {
35 | color: #de935f;
36 | }
37 |
38 | /* Tomorrow Yellow */
39 | .ruby .hljs-class .hljs-title,
40 | .css .hljs-rule .hljs-attribute {
41 | color: #f0c674;
42 | }
43 |
44 | /* Tomorrow Green */
45 | .hljs-string,
46 | .hljs-value,
47 | .hljs-inheritance,
48 | .hljs-header,
49 | .hljs-name,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #b5bd68;
53 | }
54 |
55 | /* Tomorrow Aqua */
56 | .hljs-title,
57 | .css .hljs-hexcolor {
58 | color: #8abeb7;
59 | }
60 |
61 | /* Tomorrow Blue */
62 | .hljs-function,
63 | .python .hljs-decorator,
64 | .python .hljs-title,
65 | .ruby .hljs-function .hljs-title,
66 | .ruby .hljs-title .hljs-keyword,
67 | .perl .hljs-sub,
68 | .javascript .hljs-title,
69 | .coffeescript .hljs-title {
70 | color: #81a2be;
71 | }
72 |
73 | /* Tomorrow Purple */
74 | .hljs-keyword,
75 | .javascript .hljs-function {
76 | color: #b294bb;
77 | }
78 |
79 | .hljs {
80 | display: block;
81 | overflow-x: auto;
82 | background: #1d1f21;
83 | color: #c5c8c6;
84 | padding: 0.5em;
85 | -webkit-text-size-adjust: none;
86 | }
87 |
88 | .coffeescript .javascript,
89 | .javascript .xml,
90 | .tex .hljs-formula,
91 | .xml .javascript,
92 | .xml .vbscript,
93 | .xml .css,
94 | .xml .hljs-cdata {
95 | opacity: 0.5;
96 | }
97 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/tomorrow.css:
--------------------------------------------------------------------------------
1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
2 |
3 | /* Tomorrow Comment */
4 | .hljs-comment {
5 | color: #8e908c;
6 | }
7 |
8 | /* Tomorrow Red */
9 | .hljs-variable,
10 | .hljs-attribute,
11 | .hljs-tag,
12 | .hljs-regexp,
13 | .ruby .hljs-constant,
14 | .xml .hljs-tag .hljs-title,
15 | .xml .hljs-pi,
16 | .xml .hljs-doctype,
17 | .html .hljs-doctype,
18 | .css .hljs-id,
19 | .css .hljs-class,
20 | .css .hljs-pseudo {
21 | color: #c82829;
22 | }
23 |
24 | /* Tomorrow Orange */
25 | .hljs-number,
26 | .hljs-preprocessor,
27 | .hljs-pragma,
28 | .hljs-built_in,
29 | .hljs-literal,
30 | .hljs-params,
31 | .hljs-constant {
32 | color: #f5871f;
33 | }
34 |
35 | /* Tomorrow Yellow */
36 | .ruby .hljs-class .hljs-title,
37 | .css .hljs-rule .hljs-attribute {
38 | color: #eab700;
39 | }
40 |
41 | /* Tomorrow Green */
42 | .hljs-string,
43 | .hljs-value,
44 | .hljs-inheritance,
45 | .hljs-header,
46 | .hljs-name,
47 | .ruby .hljs-symbol,
48 | .xml .hljs-cdata {
49 | color: #718c00;
50 | }
51 |
52 | /* Tomorrow Aqua */
53 | .hljs-title,
54 | .css .hljs-hexcolor {
55 | color: #3e999f;
56 | }
57 |
58 | /* Tomorrow Blue */
59 | .hljs-function,
60 | .python .hljs-decorator,
61 | .python .hljs-title,
62 | .ruby .hljs-function .hljs-title,
63 | .ruby .hljs-title .hljs-keyword,
64 | .perl .hljs-sub,
65 | .javascript .hljs-title,
66 | .coffeescript .hljs-title {
67 | color: #4271ae;
68 | }
69 |
70 | /* Tomorrow Purple */
71 | .hljs-keyword,
72 | .javascript .hljs-function {
73 | color: #8959a8;
74 | }
75 |
76 | .hljs {
77 | display: block;
78 | overflow-x: auto;
79 | background: white;
80 | color: #4d4d4c;
81 | padding: 0.5em;
82 | -webkit-text-size-adjust: none;
83 | }
84 |
85 | .coffeescript .javascript,
86 | .javascript .xml,
87 | .tex .hljs-formula,
88 | .xml .javascript,
89 | .xml .vbscript,
90 | .xml .css,
91 | .xml .hljs-cdata {
92 | opacity: 0.5;
93 | }
94 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/vs.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Visual Studio-like style based on original C# coloring by Jason Diamond
4 |
5 | */
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: white;
11 | color: black;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-annotation,
17 | .diff .hljs-header,
18 | .hljs-chunk,
19 | .apache .hljs-cbracket {
20 | color: #008000;
21 | }
22 |
23 | .hljs-keyword,
24 | .hljs-id,
25 | .hljs-built_in,
26 | .smalltalk .hljs-class,
27 | .hljs-winutils,
28 | .bash .hljs-variable,
29 | .tex .hljs-command,
30 | .hljs-request,
31 | .hljs-status,
32 | .nginx .hljs-title,
33 | .xml .hljs-tag,
34 | .xml .hljs-tag .hljs-value {
35 | color: #00f;
36 | }
37 |
38 | .hljs-string,
39 | .hljs-title,
40 | .hljs-parent,
41 | .hljs-tag .hljs-value,
42 | .hljs-rule .hljs-value,
43 | .ruby .hljs-symbol,
44 | .ruby .hljs-symbol .hljs-string,
45 | .hljs-template_tag,
46 | .django .hljs-variable,
47 | .hljs-addition,
48 | .hljs-flow,
49 | .hljs-stream,
50 | .apache .hljs-tag,
51 | .hljs-date,
52 | .tex .hljs-formula,
53 | .coffeescript .hljs-attribute,
54 | .hljs-name {
55 | color: #a31515;
56 | }
57 |
58 | .ruby .hljs-string,
59 | .hljs-decorator,
60 | .hljs-filter .hljs-argument,
61 | .hljs-localvars,
62 | .hljs-array,
63 | .hljs-attr_selector,
64 | .hljs-pseudo,
65 | .hljs-pi,
66 | .hljs-doctype,
67 | .hljs-deletion,
68 | .hljs-envvar,
69 | .hljs-shebang,
70 | .hljs-preprocessor,
71 | .hljs-pragma,
72 | .userType,
73 | .apache .hljs-sqbracket,
74 | .nginx .hljs-built_in,
75 | .tex .hljs-special,
76 | .hljs-prompt {
77 | color: #2b91af;
78 | }
79 |
80 | .hljs-doctag,
81 | .hljs-xmlDocTag {
82 | color: #808080;
83 | }
84 |
85 | .hljs-type,
86 | .hljs-typename { font-weight: bold; }
87 |
88 | .vhdl .hljs-string { color: #666666; }
89 | .vhdl .hljs-literal { color: #a31515; }
90 | .vhdl .hljs-attribute { color: #00b0e8; }
91 |
92 | .xml .hljs-attribute { color: #f00; }
93 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Business/Util/View/CCocoaChinaWebView/highlight/styles/zenburn.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov
4 | based on dark.css by Ivan Sagalaev
5 |
6 | */
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #3f3f3f;
13 | color: #dcdcdc;
14 | -webkit-text-size-adjust: none;
15 | }
16 |
17 | .hljs-keyword,
18 | .hljs-tag,
19 | .css .hljs-class,
20 | .css .hljs-id,
21 | .lisp .hljs-title,
22 | .nginx .hljs-title,
23 | .hljs-request,
24 | .hljs-status,
25 | .clojure .hljs-attribute {
26 | color: #e3ceab;
27 | }
28 |
29 | .django .hljs-template_tag,
30 | .django .hljs-variable,
31 | .django .hljs-filter .hljs-argument {
32 | color: #dcdcdc;
33 | }
34 |
35 | .hljs-number,
36 | .hljs-date {
37 | color: #8cd0d3;
38 | }
39 |
40 | .dos .hljs-envvar,
41 | .dos .hljs-stream,
42 | .hljs-variable,
43 | .apache .hljs-sqbracket,
44 | .hljs-name {
45 | color: #efdcbc;
46 | }
47 |
48 | .dos .hljs-flow,
49 | .diff .hljs-change,
50 | .python .exception,
51 | .python .hljs-built_in,
52 | .hljs-literal,
53 | .tex .hljs-special {
54 | color: #efefaf;
55 | }
56 |
57 | .diff .hljs-chunk,
58 | .hljs-subst {
59 | color: #8f8f8f;
60 | }
61 |
62 | .dos .hljs-keyword,
63 | .hljs-decorator,
64 | .hljs-title,
65 | .hljs-type,
66 | .diff .hljs-header,
67 | .ruby .hljs-class .hljs-parent,
68 | .apache .hljs-tag,
69 | .nginx .hljs-built_in,
70 | .tex .hljs-command,
71 | .hljs-prompt {
72 | color: #efef8f;
73 | }
74 |
75 | .dos .hljs-winutils,
76 | .ruby .hljs-symbol,
77 | .ruby .hljs-symbol .hljs-string,
78 | .ruby .hljs-string {
79 | color: #dca3a3;
80 | }
81 |
82 | .diff .hljs-deletion,
83 | .hljs-string,
84 | .hljs-tag .hljs-value,
85 | .hljs-preprocessor,
86 | .hljs-pragma,
87 | .hljs-built_in,
88 | .smalltalk .hljs-class,
89 | .smalltalk .hljs-localvars,
90 | .smalltalk .hljs-array,
91 | .css .hljs-rule .hljs-value,
92 | .hljs-attr_selector,
93 | .hljs-pseudo,
94 | .apache .hljs-cbracket,
95 | .tex .hljs-formula,
96 | .coffeescript .hljs-attribute {
97 | color: #cc9393;
98 | }
99 |
100 | .hljs-shebang,
101 | .diff .hljs-addition,
102 | .hljs-comment,
103 | .hljs-annotation,
104 | .hljs-pi,
105 | .hljs-doctype {
106 | color: #7f9f7f;
107 | }
108 |
109 | .coffeescript .javascript,
110 | .javascript .xml,
111 | .tex .hljs-formula,
112 | .xml .javascript,
113 | .xml .vbscript,
114 | .xml .css,
115 | .xml .hljs-cdata {
116 | opacity: 0.5;
117 | }
118 |
119 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Note/Note.markdown:
--------------------------------------------------------------------------------
1 | # 开发Note
2 | ## https://itunes.apple.com/cn/app/cocoachina+/id1046424174
3 |
4 |
5 | ## iOS9中HTTPS请求切换为HTTP请求
6 |
7 | 右键点击`info.plist`,选择`Open As`->`Source Code`,然后插入
8 |
9 | ```
10 | NSAppTransportSecurity
11 |
12 | NSAllowsArbitraryLoads
13 |
14 |
15 | ```
16 |
17 |
18 | ## dyld: Library not loaded: @rpath/libswiftCore.dylib
19 |
20 | http://stackoverflow.com/a/26949219/2710572
21 |
22 |
23 | ## iOS8下WKWebView不能加载本地资源
24 |
25 | http://stackoverflow.com/a/28676439/2710572
26 |
27 |
28 |
29 |
30 |
31 |
32 | ## RxSwift
33 |
34 | UIBarButtonItem 如果是CutomView初始化的则rx_tap不会响应
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/Changeset.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Changeset.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 5/30/15.
6 | // Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import CoreData
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | struct ItemPath : CustomStringConvertible {
17 | let sectionIndex: Int
18 | let itemIndex: Int
19 |
20 | var description : String {
21 | get {
22 | return "(\(sectionIndex), \(itemIndex))"
23 | }
24 | }
25 | }
26 |
27 | public struct Changeset : CustomStringConvertible {
28 | typealias I = S.Item
29 |
30 | var finalSections: [S] = []
31 |
32 | var insertedSections: [Int] = []
33 | var deletedSections: [Int] = []
34 | var movedSections: [(from: Int, to: Int)] = []
35 | var updatedSections: [Int] = []
36 |
37 | var insertedItems: [ItemPath] = []
38 | var deletedItems: [ItemPath] = []
39 | var movedItems: [(from: ItemPath, to: ItemPath)] = []
40 | var updatedItems: [ItemPath] = []
41 |
42 | public static func initialValue(_ sections: [S]) -> Changeset {
43 | var initialValue = Changeset()
44 | initialValue.insertedSections = Array(0 ..< sections.count)
45 | initialValue.finalSections = sections
46 | return initialValue
47 | }
48 |
49 | public var description : String {
50 | get {
51 | let serializedSections = "[\n" + finalSections.map { "\($0)" }.joined(separator: ",\n") + "\n]\n"
52 | return " >> Final sections"
53 | + " \n\(serializedSections)"
54 | + (insertedSections.count > 0 || deletedSections.count > 0 || movedSections.count > 0 || updatedSections.count > 0 ? "\nSections:" : "")
55 | + (insertedSections.count > 0 ? "\ninsertedSections:\n\t\(insertedSections)" : "")
56 | + (deletedSections.count > 0 ? "\ndeletedSections:\n\t\(deletedSections)" : "")
57 | + (movedSections.count > 0 ? "\nmovedSections:\n\t\(movedSections)" : "")
58 | + (updatedSections.count > 0 ? "\nupdatesSections:\n\t\(updatedSections)" : "")
59 | + (insertedItems.count > 0 || deletedItems.count > 0 || movedItems.count > 0 || updatedItems.count > 0 ? "\nItems:" : "")
60 | + (insertedItems.count > 0 ? "\ninsertedItems:\n\t\(insertedItems)" : "")
61 | + (deletedItems.count > 0 ? "\ndeletedItems:\n\t\(deletedItems)" : "")
62 | + (movedItems.count > 0 ? "\nmovedItems:\n\t\(movedItems)" : "")
63 | + (updatedItems.count > 0 ? "\nupdatedItems:\n\t\(updatedItems)" : "")
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/DataSources/RxCollectionViewSectionedAnimatedDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCollectionViewSectionedAnimatedDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 7/2/15.
6 | // Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | class RxCollectionViewSectionedAnimatedDataSource : RxCollectionViewSectionedDataSource
17 | , RxCollectionViewDataSourceType {
18 | typealias Element = [Changeset]
19 |
20 | // For some inexplicable reason, when doing animated updates first time
21 | // it crashes. Still need to figure out that one.
22 | var set = false
23 |
24 | func collectionView(_ collectionView: UICollectionView, observedEvent: Event) {
25 | switch observedEvent {
26 | case .Next(let element):
27 | for c in element {
28 | //print("Animating ==============================\n\(c)\n===============================\n")
29 |
30 | if !set {
31 | setSections(c.finalSections)
32 | collectionView.reloadData()
33 | set = true
34 | return
35 | }
36 | setSections(c.finalSections)
37 | collectionView.performBatchUpdates(c)
38 | }
39 | case .Error(let error):
40 | bindingErrorToInterface(error)
41 | case .Completed:
42 | break
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/DataSources/RxCollectionViewSectionedReloadDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCollectionViewSectionedReloadDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 7/2/15.
6 | // Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | class RxCollectionViewSectionedReloadDataSource : RxCollectionViewSectionedDataSource
17 | , RxCollectionViewDataSourceType {
18 | typealias Element = [S]
19 |
20 | func collectionView(_ collectionView: UICollectionView, observedEvent: Event) {
21 | switch observedEvent {
22 | case .Next(let element):
23 | setSections(element)
24 | collectionView.reloadData()
25 | case .Error(let error):
26 | bindingErrorToInterface(error)
27 | case .Completed:
28 | break
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/DataSources/RxTableViewSectionedAnimatedDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTableViewSectionedAnimatedDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 6/27/15.
6 | // Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | class RxTableViewSectionedAnimatedDataSource : RxTableViewSectionedDataSource
17 | , RxTableViewDataSourceType {
18 | typealias Element = [Changeset]
19 |
20 | func tableView(_ tableView: UITableView, observedEvent: Event) {
21 | switch observedEvent {
22 | case .Next(let element):
23 | for c in element {
24 | //print("Animating ==============================\n\(c)\n===============================\n")
25 | setSections(c.finalSections)
26 | tableView.performBatchUpdates(c)
27 | }
28 | case .Error(let error):
29 | bindingErrorToInterface(error)
30 | case .Completed:
31 | break
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/DataSources/RxTableViewSectionedReloadDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTableViewSectionedReloadDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 6/27/15.
6 | // Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | class RxTableViewSectionedReloadDataSource : RxTableViewSectionedDataSource
17 | , RxTableViewDataSourceType {
18 | typealias Element = [S]
19 |
20 | func tableView(_ tableView: UITableView, observedEvent: Event) {
21 | switch observedEvent {
22 | case .Next(let element):
23 | setSections(element)
24 | tableView.reloadData()
25 | case .Error(let error):
26 | bindingErrorToInterface(error)
27 | case .Completed:
28 | break
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/README.md:
--------------------------------------------------------------------------------
1 | RxSwift: DataSource Starter Kit
2 | ===============================
3 |
4 | This directory contains example implementations of reactive data sources.
5 |
6 | Reactive data sources are normal data sources + one additional method
7 |
8 | ```swift
9 |
10 | func view(view: UIXXXView, observedEvent: Event) {}
11 |
12 | ```
13 |
14 | That means that data sources now have additional responsibility of updating the corresponding view.
15 |
16 | For now this will be a directory in Rx project with a couple of files that you can just copy and customize.
17 |
18 | It's possible that in the future this will be extracted into separate repository and CocoaPod.
19 |
20 | It's really hard to satisfy all needs with one codebase regarding these orthogonal dimensions:
21 |
22 | * how do you determine identity of objects
23 | * how to determine the structure of data source
24 | * how to determine is object updated
25 | * are objects structures or references
26 | * are differences between transitions already precalculated in some form (I'm looking at you NSFetchedResultsController)
27 | * ....
28 |
29 | So instead of doing all things mediocre, you can use these couple of lines of code to code up your own optimized solution.
30 |
31 | The code in this directory includes these features:
32 |
33 | * using rows or sections as DataSources for UICollectionView or UITableView
34 | * unified sectioned view interface
35 | * automatic animated partial updates with O(n) complexity (it will generate all updates to sections and items)
36 |
37 | Example project uses these files to implement partial updates in `Reactive partial updates` example.
38 |
39 | The only problem regarding partial updates that is not solved perfectly is UICollectionView.
40 | Unfortunately UICollectionView has some weird problems with internal state.
41 | For same set of changes, depending on clicking speed it will sometimes get out of sync with data source.
42 |
43 | The changes in example problem are pseudorandom (they always use the same seed), so you will be able to sometimes crash UICollectionView by clicking fast, but it will be ok if you click slow :(
44 |
45 | The problem isn't in the differential algorithm, but in UICollectionView itself, so not sure how to solve it perfectly.
46 | Any suggestions are welcome.
47 |
48 | UITableView on the other hand passed all stress tests. (You can run stress tests with random changes in example project)
49 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/RxDataSourceStarterKit.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxDataSourceStarterKit.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 8/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | #if !RX_NO_MODULE
12 | func bindingErrorToInterface(_ error: Error) {
13 | let error = "Binding error to UI: \(error)"
14 | #if DEBUG
15 | fatalError(error)
16 | #else
17 | print(error)
18 | #endif
19 | }
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/SectionModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionModel.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/16/15.
6 | // Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public struct SectionModel : SectionModelType, CustomStringConvertible {
12 | public typealias Item = ItemType
13 | public var model: Section
14 |
15 | public var items: [Item]
16 |
17 | public init(model: Section, items: [Item]) {
18 | self.model = model
19 | self.items = items
20 | }
21 |
22 | public init(original: SectionModel, items: [Item]) {
23 | self.model = original.model
24 | self.items = items
25 | }
26 |
27 | public var description: String {
28 | get {
29 | return "\(self.model) > \(items)"
30 | }
31 | }
32 | }
33 |
34 | public struct HashableSectionModel : Hashable, SectionModelType, CustomStringConvertible {
35 | public typealias Item = ItemType
36 | public var model: Section
37 |
38 | public var items: [Item]
39 |
40 | public init(model: Section, items: [Item]) {
41 | self.model = model
42 | self.items = items
43 | }
44 |
45 | public init(original: HashableSectionModel, items: [Item]) {
46 | self.model = original.model
47 | self.items = items
48 | }
49 |
50 | public var description: String {
51 | get {
52 | return "HashableSectionModel(model: \"\(self.model)\", items: \(items))"
53 | }
54 | }
55 |
56 | public var hashValue: Int {
57 | get {
58 | return self.model.hashValue
59 | }
60 | }
61 |
62 | }
63 |
64 | public func == (lhs: HashableSectionModel, rhs: HashableSectionModel) -> Bool {
65 | return lhs.model == rhs.model
66 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/Vender/RxDataSourceStarterKit/SectionModelType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionModelType.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 6/28/15.
6 | // Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol SectionModelType {
12 | associatedtype Item
13 |
14 | var items: [Item] { get }
15 |
16 | init(original: Self, items: [Item])
17 | }
18 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Application/ZXTabBarController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ZXTabBarController.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by 子循 on 15/7/27.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ZXTabBarController: UITabBarController,UITabBarControllerDelegate {
12 |
13 | var chatController:CChatListViewController!
14 |
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 | self.selectedIndex = 0
18 | self.tabBar.barTintColor = UIColor.black
19 |
20 | let homeVC = CCPHomeViewController()
21 |
22 | homeVC.tabBarItem = UITabBarItem(title: "首页", image: R.image.home(), tag: 0)
23 | let nav_cc = ZXNavigationController(rootViewController: homeVC)
24 |
25 |
26 | let bbsVC = CCPBBSViewController(navigatorURL: URL(string: "go/ccp/bbs")!, query: ["link":"http://www.cocoachina.com/bbs/3g/"])
27 | bbsVC.tabBarItem = UITabBarItem(title: "论坛", image: R.image.bbs(), tag: 1)
28 | let nav_bbs = ZXNavigationController(rootViewController: bbsVC)
29 |
30 | self.chatController = CChatListViewController()
31 | chatController.tabBarItem = UITabBarItem(title: "聊天", image: R.image.tabbar_chat(), tag: 2)
32 | let nav_chat = ZXNavigationController(rootViewController: chatController)
33 |
34 | let profileVC = CCProfileViewController()
35 | profileVC.tabBarItem = UITabBarItem(title: "我", image: R.image.tabbar_profile(), tag: 2)
36 | let nav_profile = ZXNavigationController(rootViewController: profileVC)
37 |
38 |
39 | self.viewControllers = [nav_cc,nav_bbs,nav_chat,nav_profile]
40 |
41 | }
42 |
43 | }
44 |
45 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon_29pt@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon_29pt@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "40x40",
17 | "idiom" : "iphone",
18 | "filename" : "icon_40pt@2x.png",
19 | "scale" : "2x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon_40pt@3x.png",
25 | "scale" : "3x"
26 | },
27 | {
28 | "size" : "60x60",
29 | "idiom" : "iphone",
30 | "filename" : "icon_60pt@2x.png",
31 | "scale" : "2x"
32 | },
33 | {
34 | "size" : "60x60",
35 | "idiom" : "iphone",
36 | "filename" : "icon_60pt@3x.png",
37 | "scale" : "3x"
38 | },
39 | {
40 | "size" : "29x29",
41 | "idiom" : "ipad",
42 | "filename" : "icon_29pt.png",
43 | "scale" : "1x"
44 | },
45 | {
46 | "size" : "29x29",
47 | "idiom" : "ipad",
48 | "filename" : "icon_29pt@2x-1.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "40x40",
53 | "idiom" : "ipad",
54 | "filename" : "icon_40pt.png",
55 | "scale" : "1x"
56 | },
57 | {
58 | "size" : "40x40",
59 | "idiom" : "ipad",
60 | "filename" : "icon_40pt@2x-1.png",
61 | "scale" : "2x"
62 | },
63 | {
64 | "size" : "76x76",
65 | "idiom" : "ipad",
66 | "filename" : "icon_76pt.png",
67 | "scale" : "1x"
68 | },
69 | {
70 | "size" : "76x76",
71 | "idiom" : "ipad",
72 | "filename" : "icon_76pt@2x.png",
73 | "scale" : "2x"
74 | },
75 | {
76 | "idiom" : "ipad",
77 | "size" : "83.5x83.5",
78 | "scale" : "2x"
79 | }
80 | ],
81 | "info" : {
82 | "version" : 1,
83 | "author" : "xcode"
84 | }
85 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt@2x-1.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_29pt@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt@2x-1.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_40pt@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_60pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_60pt@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_60pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_60pt@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_76pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_76pt.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_76pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/AppIcon.appiconset/icon_76pt@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "iPhone 6 Black + IMG_2745.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_1.imageset/iPhone 6 Black + IMG_2745.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_1.imageset/iPhone 6 Black + IMG_2745.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "iPhone 6 Black + IMG_2746.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_2.imageset/iPhone 6 Black + IMG_2746.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_2.imageset/iPhone 6 Black + IMG_2746.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "iPhone 6 Black + IMG_2747.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_3.imageset/iPhone 6 Black + IMG_2747.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_3.imageset/iPhone 6 Black + IMG_2747.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_4.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "iPhone 6 Black + 2.pic_hd.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_4.imageset/iPhone 6 Black + 2.pic_hd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/Guide/guide_page_4.imageset/iPhone 6 Black + 2.pic_hd.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/about.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "about.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/about.imageset/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/about.imageset/about.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/chengxuyuan.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "chengxuyuan.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/chengxuyuan.imageset/chengxuyuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/chengxuyuan.imageset/chengxuyuan.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/ic_detail_back.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "ic_detail_back@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "ic_detail_back@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/ic_detail_back.imageset/ic_detail_back@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/ic_detail_back.imageset/ic_detail_back@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/ic_detail_back.imageset/ic_detail_back@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/ic_detail_back.imageset/ic_detail_back@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_cancel.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "nav_cancel.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "nav_cancel@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_cancel.imageset/nav_cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_cancel.imageset/nav_cancel.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_cancel.imageset/nav_cancel@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_cancel.imageset/nav_cancel@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_no.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "nav_like_no@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "nav_like_no@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_no.imageset/nav_like_no@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_no.imageset/nav_like_no@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_no.imageset/nav_like_no@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_no.imageset/nav_like_no@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_yes.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "nav_like_yes@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "nav_like_yes@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_yes.imageset/nav_like_yes@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_yes.imageset/nav_like_yes@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_yes.imageset/nav_like_yes@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_like_yes.imageset/nav_like_yes@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_search.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "nav_search.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "nav_search@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_search.imageset/nav_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_search.imageset/nav_search.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_search.imageset/nav_search@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/nav_search.imageset/nav_search@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/share.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "share@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "share@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/share.imageset/share@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/share.imageset/share@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/navbar/share.imageset/share@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/navbar/share.imageset/share@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/sharetest.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/sharetest.imageset/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/sharetest.imageset/icon@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/splash/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/splash/icon_light.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_light@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_light@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/splash/icon_light.imageset/icon_light@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/splash/icon_light.imageset/icon_light@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/splash/icon_light.imageset/icon_light@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/splash/icon_light.imageset/icon_light@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/bbs.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "Presentation@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "Presentation@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/bbs.imageset/Presentation@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/bbs.imageset/Presentation@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/bbs.imageset/Presentation@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/bbs.imageset/Presentation@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/home.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "Home.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "Home@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/home.imageset/Home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/home.imageset/Home.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/home.imageset/Home@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/home.imageset/Home@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_chat.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "tabbar_chat@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "tabbar_chat@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_chat.imageset/tabbar_chat@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_chat.imageset/tabbar_chat@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_chat.imageset/tabbar_chat@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_chat.imageset/tabbar_chat@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_profile.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "tabbar_profile@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "tabbar_profile@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_profile.imageset/tabbar_profile@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_profile.imageset/tabbar_profile@2x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_profile.imageset/tabbar_profile@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/tabbar/tabbar_profile.imageset/tabbar_profile@3x.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/top.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "top.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/Assets.xcassets/top.imageset/top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/Code/CocoaChinaPlus/Assets.xcassets/top.imageset/top.png
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/CCAppConfiguration.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCAppConfiguration.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by zixun on 15/9/25.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class CCAppConfiguration: NSObject {
12 |
13 | class func configure(_ application: UIApplication, launchOptions: [AnyHashable: Any]?) {
14 |
15 | //友盟统计配置
16 | CCAppConfiguration.configureYoumengStatistics()
17 |
18 | //友盟分享配置
19 | CCAppConfiguration.configureYoumengSocial()
20 |
21 | //极光推送
22 | CCAppConfiguration.configureJPush(launchOptions)
23 |
24 | }
25 |
26 | /**
27 | 友盟统计配置
28 | */
29 | fileprivate class func configureYoumengStatistics() {
30 |
31 | let channel = Bundle.main.infoDictionary!["ZXApplicationChannel"] as! String
32 | let version = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
33 |
34 | MobClick.start(withAppkey: CCAppKey.appUM, reportPolicy: BATCH, channelId: channel)
35 | MobClick.setAppVersion(version)
36 |
37 | MobClick.updateOnlineConfig()
38 | }
39 |
40 | /**
41 | 友盟分享配置
42 | */
43 | fileprivate class func configureYoumengSocial() {
44 | UMSocialManager.default().umSocialAppkey = CCAppKey.appUM
45 | UMSocialManager.default().setPlaform(UMSocialPlatformType.wechatSession, appKey: CCAppKey.appWeChat.appkey, appSecret: CCAppKey.appWeChat.secret, redirectURL: "http://sns.whalecloud.com/sina2/callback")
46 |
47 | UMSocialManager.default().setPlaform(UMSocialPlatformType.sina, appKey: CCAppKey.appSina.appkey, appSecret: CCAppKey.appSina.secret, redirectURL: "http://sns.whalecloud.com/sina2/callback")
48 |
49 | }
50 |
51 | /**
52 | 极光推送配置
53 | */
54 | fileprivate class func configureJPush(_ launchOptions: [AnyHashable: Any]?) {
55 | // let type = UIUserNotificationType.badge.rawValue | UIUserNotificationType.sound.rawValue | UIUserNotificationType.alert.rawValue
56 | // APService.register(forRemoteNotificationTypes: type, categories: nil)
57 | // APService.setup(withOption: launchOptions)
58 | //
59 | // if launchOptions != nil {
60 | // if let userInfo = launchOptions![UIApplicationLaunchOptionsKey.remoteNotification] as? NSDictionary {
61 | // CCRemoteNotificationHandler.sharedHandler.handle(userInfo);
62 | // }
63 | // }
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/CCRemoteNotificationHandler.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CCRemoteNotificationHandler.swift
3 | // CocoaChinaPlus
4 | //
5 | // Created by chenyl on 15/9/24.
6 | // Copyright © 2015年 zixun. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class CCRemoteNotificationHandler: NSObject,UIAlertViewDelegate {
12 |
13 | static let sharedHandler : CCRemoteNotificationHandler = {
14 | return CCRemoteNotificationHandler()
15 | }()
16 |
17 | fileprivate var identity : String?
18 |
19 | func handle(_ userInfo:NSDictionary) {
20 | guard userInfo.count > 1 else {
21 | return;
22 | }
23 |
24 | let state = UIApplication.shared.applicationState
25 |
26 | if let aps = userInfo["aps"] as? NSDictionary {
27 |
28 | let alert = aps["alert"] as! String
29 | if let cocoachina_url = userInfo["cocoachina"] {
30 | self.identity = CCURLHelper.generateIdentity(cocoachina_url as! String)
31 |
32 | if state == UIApplicationState.active {
33 |
34 | UIAlertView(title: "新消息",
35 | message: alert,
36 | delegate: self,
37 | cancelButtonTitle: "下次吧",
38 | otherButtonTitles: "学习一下").show()
39 | }else {
40 |
41 | ZXOpenURL("go/ccp/article?identity=\(self.identity! )")
42 | }
43 |
44 | }
45 | }
46 | }
47 |
48 | func alertView(_ alertView: UIAlertView, clickedButtonAt buttonIndex: Int) {
49 | if buttonIndex == 1 && self.identity != nil {
50 | ZXOpenURL("go/ccp/article?identity=\(self.identity!)")
51 | }
52 | }
53 |
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/CocoaChinaPlus-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 | #ifndef CocoaChinaPlus____Bridging_Header_h
6 | #define CocoaChinaPlus____Bridging_Header_h
7 |
8 | //友盟统计
9 | #import "MobClick.h"
10 |
11 |
12 | #import
13 |
14 | #import
15 |
16 | //极光推送
17 | //#import "APService.h"
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/Code/CocoaChinaPlus/PushConfig.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
12 | APS_FOR_PRODUCTION
13 | 0
14 | APP_KEY
15 | 715e2a98775e7ec581728052
16 | CHANNEL
17 | Developing
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Code/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, '9.0'
3 | use_frameworks!
4 | inhibit_all_warnings!
5 |
6 | target 'CocoaChinaPlus' do
7 |
8 | #pod 'Reveal-iOS-SDK', :configurations => ['Debug']
9 | pod 'GodEye', '~> 1.0.0', :configurations => ['Debug']
10 |
11 | pod 'Log4G'
12 | pod 'AppBaseKit', '~> 0.1.0'
13 | pod 'SwViewCapture', '~> 1.0.5'
14 | pod 'Neon', '~> 0.4.0'
15 | pod 'SwiftyUserDefaults', '~> 3.0.0'
16 | pod 'Ji', '~> 2.0.1'
17 | pod 'Kingfisher', '~> 3.2.4'
18 | pod 'Alamofire', '~> 4.3.0'
19 | pod 'RxSwift', '~> 3.1.0'
20 | pod 'RxCocoa', '~> 3.1.0'
21 | pod 'SQLite.swift', '~> 0.11.2'
22 | pod 'R.swift', '~> 3.2.0'
23 | #OC库
24 | pod 'SVPullToRefresh', '0.4.1'
25 | pod 'MBProgressHUD', '~> 1.0.0'
26 | pod 'UMengAnalytics', '~> 3.5.10'
27 | pod 'UMengUShare', '~> 6.2.2'
28 | end
29 |
30 | post_install do |installer|
31 | installer.pods_project.targets.each do |target|
32 | target.build_configurations.each do |config|
33 | config.build_settings['SWIFT_VERSION'] = '3.0'
34 | end
35 | end
36 | end
37 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 陈奕龙(子循)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/UI设计/about.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/about.sketch
--------------------------------------------------------------------------------
/UI设计/all_icon.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/all_icon.sketch
--------------------------------------------------------------------------------
/UI设计/appstore/3.5-article.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/3.5-article.png
--------------------------------------------------------------------------------
/UI设计/appstore/3.5-bbs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/3.5-bbs.png
--------------------------------------------------------------------------------
/UI设计/appstore/3.5-chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/3.5-chat.png
--------------------------------------------------------------------------------
/UI设计/appstore/3.5-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/3.5-code.png
--------------------------------------------------------------------------------
/UI设计/appstore/3.5-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/3.5-home.png
--------------------------------------------------------------------------------
/UI设计/appstore/3.5-profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/3.5-profile.png
--------------------------------------------------------------------------------
/UI设计/appstore/4-article.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4-article.png
--------------------------------------------------------------------------------
/UI设计/appstore/4-bbs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4-bbs.png
--------------------------------------------------------------------------------
/UI设计/appstore/4-chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4-chat.png
--------------------------------------------------------------------------------
/UI设计/appstore/4-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4-code.png
--------------------------------------------------------------------------------
/UI设计/appstore/4-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4-home.png
--------------------------------------------------------------------------------
/UI设计/appstore/4-profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4-profile.png
--------------------------------------------------------------------------------
/UI设计/appstore/4.7-article.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4.7-article.png
--------------------------------------------------------------------------------
/UI设计/appstore/4.7-bbs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4.7-bbs.png
--------------------------------------------------------------------------------
/UI设计/appstore/4.7-chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4.7-chat.png
--------------------------------------------------------------------------------
/UI设计/appstore/4.7-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4.7-code.png
--------------------------------------------------------------------------------
/UI设计/appstore/4.7-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4.7-home.png
--------------------------------------------------------------------------------
/UI设计/appstore/4.7-profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/4.7-profile.png
--------------------------------------------------------------------------------
/UI设计/appstore/article-55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/article-55.png
--------------------------------------------------------------------------------
/UI设计/appstore/bbs-55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/bbs-55.png
--------------------------------------------------------------------------------
/UI设计/appstore/code-55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/code-55.png
--------------------------------------------------------------------------------
/UI设计/appstore/home-55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/home-55.png
--------------------------------------------------------------------------------
/UI设计/appstore/jiaoliu-55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/jiaoliu-55.png
--------------------------------------------------------------------------------
/UI设计/appstore/profile-55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/appstore/profile-55.png
--------------------------------------------------------------------------------
/UI设计/cocoachinaplus.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/cocoachinaplus.sketch
--------------------------------------------------------------------------------
/UI设计/iPhone 6 Black + 2.pic_hd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/iPhone 6 Black + 2.pic_hd.png
--------------------------------------------------------------------------------
/UI设计/iPhone 6 Black + IMG_2745.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/iPhone 6 Black + IMG_2745.png
--------------------------------------------------------------------------------
/UI设计/iPhone 6 Black + IMG_2746.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/iPhone 6 Black + IMG_2746.png
--------------------------------------------------------------------------------
/UI设计/iPhone 6 Black + IMG_2747.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/iPhone 6 Black + IMG_2747.png
--------------------------------------------------------------------------------
/UI设计/icon.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon.sketch
--------------------------------------------------------------------------------
/UI设计/icon/iTunesArtwork@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/iTunesArtwork@2x.png
--------------------------------------------------------------------------------
/UI设计/icon/iTunesAtWork.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/iTunesAtWork.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_29pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_29pt.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_29pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_29pt@2x.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_29pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_29pt@3x.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_40pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_40pt.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_40pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_40pt@2x.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_40pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_40pt@3x.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_60pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_60pt@2x.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_60pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_60pt@3x.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_76pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_76pt.png
--------------------------------------------------------------------------------
/UI设计/icon/icon_76pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/icon/icon_76pt@2x.png
--------------------------------------------------------------------------------
/UI设计/同步推/4-article_meitu_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/同步推/4-article_meitu_4.jpg
--------------------------------------------------------------------------------
/UI设计/同步推/4-bbs_meitu_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/同步推/4-bbs_meitu_5.jpg
--------------------------------------------------------------------------------
/UI设计/同步推/4-chat_meitu_6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/同步推/4-chat_meitu_6.jpg
--------------------------------------------------------------------------------
/UI设计/同步推/4-code_meitu_7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/同步推/4-code_meitu_7.jpg
--------------------------------------------------------------------------------
/UI设计/同步推/4-home_meitu_8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/同步推/4-home_meitu_8.jpg
--------------------------------------------------------------------------------
/UI设计/同步推/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zixun/CocoaChinaPlus/ced1e477a04a6aa1cbe6b30cc1828210559bbadf/UI设计/同步推/icon.png
--------------------------------------------------------------------------------
/脚本/打渠道包.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | #定义
4 | QudaoArr=("a" "b" "c")
5 |
6 | targetName="TestQudao"
7 | sourceipaname="TestQudao.ipa"
8 | appname="TestQudao.app" #加压后Pauload目录项.app文件名需要根据自己的项目修改
9 | distDir="/Users/chenyl/Documents/test/ipa" #打包后文件存储目录
10 | version="1.0.0"
11 | rm -rdf "$distDir "
12 | mkdir "$distDir"
13 |
14 | configname="info.plist"
15 |
16 | PlistBuddy="/usr/libexec/PlistBuddy"
17 | plutil="plutil"
18 |
19 | #解压
20 | unzip $sourceipaname #解压母包文件
21 |
22 | #打包
23 | for i in ${QudaoArr[@]}
24 | do
25 |
26 | #进入app文件夹
27 | cd Payload
28 | cd $appname
29 |
30 | #替换plist中的key
31 | ${PlistBuddy} -c "set :ZXApplicationChannel $i" ${configname}
32 | ${plutil} -convert binary1 ${configname}
33 | # cat "${configname}"
34 |
35 |
36 | if [ $i == "App Stroe" ]
37 | then
38 | cd ..
39 | zip -r "${targetName}_${version}_from_$i.zip" $appname #//appstore二进制文件
40 | mv "${targetName}_${version}_from_$i.zip" $distDir
41 | cd ..
42 | else
43 | cd ../..
44 | zip -r "${targetName}_${version}_from_$i.ipa" Payload SwiftSupport #//打成其他渠道的包
45 | mv "${targetName}_${version}_from_$i.ipa" $distDir
46 | fi
47 | done
48 | rm -rdf Payload
49 | rm -rdf SwiftSupport
--------------------------------------------------------------------------------