Refactored the repository and gruntified all the things

This commit is contained in:
2014-05-17 23:16:16 +01:00
parent 0fa7bd127f
commit eb889620cc
94 changed files with 314 additions and 7905 deletions

5
.gitignore vendored
View File

@@ -1 +1,6 @@
.DS_Store .DS_Store
node_modules/
bower_components/
.idea/
build/
.lock*

240
Gruntfile.js Normal file
View File

@@ -0,0 +1,240 @@
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
copy: {
dev: {
files: [
{
expand: true,
cwd: 'websrc',
src: ['**', '!config/**', '!css/**'],
dest: 'build/'
},
{
expand: true,
cwd: 'websrc/config',
src: [ '*.js' ],
dest: 'websrc/config/.temp/'
}
]
},
prod: {
files: [
{
expand: true,
cwd: 'websrc',
src: ['**', '!config/**', '!css/**', '!js/**'],
dest: 'build/'
}
]
},
jsvendor: {
files: [
{
expand: true,
flatten: true,
cwd: 'bower_components',
src: [
'jquery/**/jquery.min.js',
'modernizr/**/modernizr.js',
'foundation/**/foundation.min.js'
],
dest: 'build/js/vendor/'
}
]
},
cssvendor: {
files: [
{
expand: true,
flatten: true,
cwd: 'bower_components',
src: [
'**/foundation.min.css'
],
dest: 'build/css/vendor/'
}
]
}
},
clean: {
build: {
src: [ 'build' ]
},
temp: {
src: [ 'websrc/config/.temp']
}
},
closureCompiler: {
options: {
compilerFile: 'node_modules/closure-compiler-jar/compiler.jar',
checkModified: true
},
minify: {
files: [
{
expand: true,
cwd: 'websrc/js',
src: ['*.js', '!**/*.min.js'],
dest: 'build/js/',
ext: '.min.js'
},
{
expand: true,
cwd: 'websrc/config',
src: ['*.js'],
dest: 'websrc/config/.temp/',
ext: '.js'
}
]
}
},
sass: {
prod: {
options: {
style: 'compressed'
},
files: {
'build/css/styles.css':'websrc/css/styles.scss',
'websrc/config/.temp/styles.css':'websrc/config/styles.scss'
}
},
dev: {
files: {
'build/css/styles.css':'websrc/css/styles.scss',
'websrc/config/.temp/styles.css':'websrc/config/styles.scss'
}
}
},
autoprefixer: {
build: {
expand: true,
cwd: 'build/css',
src: [ '*.css' ],
dest: 'build/css'
}
},
watch: {
stylesheets: {
files: 'websrc/css/*.scss',
tasks: [ 'sass:dev' ]
},
copy: {
files: [ 'websrc/**', '!websrc/css/**', '!websrc/config/**' ],
tasks: [ 'copy-dev' ]
},
config: {
files: 'websrc/config/*',
tasks: [ 'copy:dev', 'sass:dev', 'htmlbuild', 'clean:temp']
}
},
fileblocks: {
options: {
removeAnchors: true
},
todos: {
src: 'build/index.php',
blocks: {
'styles': {
cwd: 'build',
src: [
'css/vendor/*.css',
'css/*.css'
]
},
'app': {
cwd: 'build',
src: [
'js/vendor/jquery.min.js',
'js/vendor/*.js',
'js/*.js'
]
}
}
}
},
htmlbuild: {
dist: {
src: 'websrc/config/index.html',
dest: 'build/config/',
options: {
beautify: false,
sections: {
css: 'websrc/config/.temp/styles.css',
js: 'websrc/config/.temp/app.js'
}
}
}
},
shell: {
pblbuild: {
command: [
'cd pebbleapp',
'pebble build'
].join('&&')
},
pblinstall: {
command: [
'cd pebbleapp',
'pebble install'
].join('&&')
}
}
});
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-closure-tools');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-file-blocks');
grunt.loadNpmTasks('grunt-html-build');
grunt.loadNpmTasks('grunt-shell');
grunt.registerTask(
'pbl-build',
'Builds the Pebble app',
['shell:pblbuild']
);
grunt.registerTask(
'pbl-install',
'Builds and installs the Pebble app',
['shell:pblbuild', 'shell:pblinstall']
);
grunt.registerTask(
'copy-dev',
'Copys all files',
['copy:dev', 'copy:jsvendor', 'copy:cssvendor']
);
grunt.registerTask(
'copy-prod',
'Copys all files',
['copy:prod', 'copy:jsvendor', 'copy:cssvendor']
);
grunt.registerTask(
'build-dev',
'Compiles all of the assets and copies the files to the build directory. Does not minify and obfuscate',
[ 'clean', 'copy-dev', 'sass:dev', 'autoprefixer', 'fileblocks', 'htmlbuild', 'clean:temp']
);
grunt.registerTask(
'build-prod',
'Compiles all of the assets and copies the files to the build directory.',
[ 'clean', 'copy-prod', 'closureCompiler', 'sass:prod', 'autoprefixer', 'fileblocks', 'htmlbuild', 'clean:temp']
);
grunt.registerTask(
'default',
'Runs build-dev',
[ 'build-dev' ]
);
};

5
README.md Normal file
View File

@@ -0,0 +1,5 @@
#MineWatch
**npm install**
**bower install**

View File

@@ -1,8 +0,0 @@
argv = ['/Users/dan/pebble-dev/PebbleSDK-2.0.2/Pebble/waf', 'configure', 'build']
environ = {'TERM_SESSION_ID': '3CD8238C-58C7-4290-8ACF-B40F29CAA6DF', 'SSH_AUTH_SOCK': '/tmp/launch-6iGfhV/Listeners', 'PYTHONPATH': '/Users/dan/pebble-dev/PebbleSDK-current/bin/../.env/lib/python2.7/site-packages', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'TERM_PROGRAM_VERSION': '326', 'SHELL': '/bin/bash', 'LOGNAME': 'dan', 'USER': 'dan', 'HOME': '/Users/dan', 'PATH': '/Users/dan/pebble-dev/PebbleSDK-2.0.2/arm-cs-tools/bin:/Users/dan/pebble-dev/PebbleSDK-current/bin:/Applications/Android Studio.app/sdk/tools/:/Applications/Android Studio.app/sdk/platform-tools/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin', 'DISPLAY': '/tmp/launch-oMwao1/org.macosforge.xquartz:0', 'TMPDIR': '/var/folders/5l/h8wjt5t52cs2n6h7zcd3kw040000gn/T/', 'TERM_PROGRAM': 'Apple_Terminal', 'LANG': 'en_GB.UTF-8', 'TERM': 'xterm-256color', 'Apple_PubSub_Socket_Render': '/tmp/launch-YAZ4GK/Render', 'VERSIONER_PYTHON_VERSION': '2.7', 'SHLVL': '2', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'PWD': '/Users/dan/Workspace/minewatch/app', '_': '/Users/dan/pebble-dev/PebbleSDK-2.0.2/Pebble/waf', 'JAVA_HOME': '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', '__CHECKFIX1436934': '1', 'PEBBLE_PHONE': '192.168.1.147'}
files = ['/Users/dan/Workspace/minewatch/app/wscript']
hash = 4672844372416070989
options = {'files': '', 'jobs': 4, 'verbose': 0, 'nocache': False, 'progress_bar': 0, 'timestamp': None, 'distcheck_args': None, 'top': '', 'destdir': '', 'keep': 0, 'zones': '', 'debug': False, 'prefix': '/usr/local/', 'download': False, 'force': False, 'targets': '', 'out': ''}
out_dir = '/Users/dan/Workspace/minewatch/app/build'
run_dir = '/Users/dan/Workspace/minewatch/app'
top_dir = '/Users/dan/Workspace/minewatch/app'

View File

@@ -1,8 +0,0 @@
argv = ['/home/dan/.pebble/PebbleSDK-2.0.2/Pebble/waf', 'configure', 'build']
environ = {'WINDOWID': '14691935', 'QT4_IM_MODULE': 'xim', 'UPSTART_EVENTS': 'started starting', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LOGNAME': 'dan', 'USER': 'dan', 'GNOME_KEYRING_CONTROL': '/run/user/1000/keyring-W8rHM4', 'XDG_VTNR': '7', 'HOME': '/home/dan', 'DISPLAY': ':0', 'SSH_AGENT_PID': '2017', 'LANG': 'en_GB.UTF-8', 'TERM': 'xterm', 'SHELL': '/bin/bash', 'XAUTHORITY': '/var/run/gdm/auth-for-dan-YjzkAu/database', 'LANGUAGE': 'en_GB:en', 'UPSTART_INSTANCE': '', 'SHLVL': '2', 'MANDATORY_PATH': '/usr/share/gconf/gnome.mandatory.path', 'JOB': 'gnome-session', 'TEXTDOMAIN': 'im-config', 'CLUTTER_IM_MODULE': 'xim', 'WINDOWPATH': '7', 'SESSIONTYPE': 'gnome-session', 'IM_CONFIG_PHASE': '1', 'GPG_AGENT_INFO': '/run/user/1000/keyring-W8rHM4/gpg:0:1', 'SELINUX_INIT': 'YES', 'USERNAME': 'dan', 'XDG_RUNTIME_DIR': '/run/user/1000', 'GTK_IM_MODULE': 'ibus', 'PYTHONPATH': '/home/dan/.pebble/PebbleSDK-latest/bin/../.env/lib/python2.7/site-packages', 'SSH_AUTH_SOCK': '/run/user/1000/keyring-W8rHM4/ssh', 'VTE_VERSION': '3409', 'PATH': '/home/dan/.pebble/PebbleSDK-2.0.2/arm-cs-tools/bin:~/.pebble/PebbleSDK-latest/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games', 'XMODIFIERS': '@im=ibus', 'UPSTART_JOB': 'gnome-settings-daemon', 'TEXTDOMAINDIR': '/usr/share/locale/', 'XDG_DATA_DIRS': '/usr/share/gnome:/usr/local/share/:/usr/share/', 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-gnome:/usr/share/upstart/xdg:/etc/xdg', 'XDG_CURRENT_DESKTOP': 'GNOME', 'XDG_SESSION_ID': 'c2', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-CFMqNkTPMx', '_': '/home/dan/.pebble/PebbleSDK-latest/bin/pebble', 'DEFAULTS_PATH': '/usr/share/gconf/gnome.default.path', 'GDMSESSION': 'gnome', 'DESKTOP_SESSION': 'gnome', 'UPSTART_SESSION': 'unix:abstract=/com/ubuntu/upstart-session/1000/1934', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'GNOME_KEYRING_PID': '1928', 'GDM_LANG': 'en_GB', 'NODE_PATH': '/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript', 'INSTANCE': 'GNOME', 'PWD': '/home/dan/Workspace/minewatch/app', 'SSH_AGENT_LAUNCHER': 'upstart', 'COLORTERM': 'gnome-terminal', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:', 'XDG_SEAT': 'seat0'}
files = ['/home/dan/Workspace/minewatch/app/wscript']
hash = 4672844372416070989
options = {'files': '', 'jobs': 4, 'verbose': 0, 'nocache': False, 'progress_bar': 0, 'timestamp': None, 'distcheck_args': None, 'top': '', 'destdir': '', 'keep': 0, 'zones': '', 'debug': False, 'prefix': '/usr/local/', 'download': False, 'force': False, 'targets': '', 'out': ''}
out_dir = '/home/dan/Workspace/minewatch/app/build'
run_dir = '/home/dan/Workspace/minewatch/app'
top_dir = '/home/dan/Workspace/minewatch/app'

View File

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 169 KiB

20
bower.json Normal file
View File

@@ -0,0 +1,20 @@
{
"name": "MineWatch",
"version": "1.0.2",
"authors": [
"Dan Head <me@danielhead.com>"
],
"license": "MIT",
"homepage": "http://danielhead.com/minewatch",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"foundation": "~5.2.2"
}
}

1
httpdocs/.idea/.name generated
View File

@@ -1 +0,0 @@
httpdocs

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectCodeStyleSettingsManager">
<option name="PER_PROJECT_SETTINGS">
<value>
<XML>
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
</value>
</option>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" />
</component>
</project>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData" serverName="Wayfaerer">
<serverData>
<paths name="Wayfaerer">
<serverdata>
<mappings>
<mapping deploy="/danielhead.com/httpdocs/minewatch" local="$PROJECT_DIR$" web="/minewatch" />
</mappings>
</serverdata>
</paths>
</serverData>
</component>
</project>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="sass-stdlib" level="application" />
</component>
</module>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" />
</project>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/httpdocs.iml" filepath="$PROJECT_DIR$/.idea/httpdocs.iml" />
</modules>
</component>
</project>

View File

@@ -1,5 +0,0 @@
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
</component>
</project>

View File

@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectTasksOptions">
<TaskOptions isEnabled="true">
<option name="arguments" value="--no-cache --update $FileName$:$FileNameWithoutExtension$.css" />
<option name="checkSyntaxErrors" value="true" />
<option name="description" value="Compiles .scss files into .css files" />
<option name="exitCodeBehavior" value="ERROR" />
<option name="fileExtension" value="scss" />
<option name="immediateSync" value="true" />
<option name="name" value="SCSS" />
<option name="output" value="$FileNameWithoutExtension$.css" />
<option name="outputFilters">
<array />
</option>
<option name="outputFromStdout" value="false" />
<option name="passParentEnvs" value="true" />
<option name="program" value="/usr/bin/scss" />
<option name="scopeName" value="Project Files" />
<option name="trackOnlyRoot" value="false" />
<option name="workingDir" value="$FileDir$" />
<envs />
</TaskOptions>
</component>
</project>

View File

@@ -1,769 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="BookmarkManager">
<bookmark url="file://$PROJECT_DIR$/submit.php" line="28" mnemonic="2" />
</component>
<component name="ChangeListManager">
<list default="true" id="3770e927-60ba-4df0-98ed-e3807da3e673" name="Default" comment="" />
<ignored path="httpdocs.iws" />
<ignored path=".idea/workspace.xml" />
<ignored path=".idea/dataSources.local.xml" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="httpdocs" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="index.php" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.1834239" vertical-offset="375" max-vertical-offset="2655">
<caret line="34" column="52" selection-start-line="34" selection-start-column="52" selection-end-line="34" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="submit.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/submit.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="720">
<caret line="18" column="1" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="form.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/includes/form.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1095">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="main.scss" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.0" vertical-offset="90" max-vertical-offset="1050">
<caret line="6" column="1" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="main.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="585" max-vertical-offset="675">
<caret line="39" column="3" selection-start-line="39" selection-start-column="3" selection-end-line="39" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="index.html" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config/index.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.0" vertical-offset="165" max-vertical-offset="1065">
<caret line="11" column="371" selection-start-line="11" selection-start-column="371" selection-end-line="11" selection-end-column="371" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="main.scss" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config.src/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-26.916666" vertical-offset="1259" max-vertical-offset="2010">
<caret line="127" column="18" selection-start-line="127" selection-start-column="18" selection-end-line="127" selection-end-column="18" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="body.html" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config.src/body.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-11.25" vertical-offset="0" max-vertical-offset="750">
<caret line="18" column="85" selection-start-line="18" selection-start-column="85" selection-end-line="18" selection-end-column="85" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindManager">
<FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="true" />
</FindUsagesManager>
</component>
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/submit.ph[.php" />
<option value="$PROJECT_DIR$/index.html" />
<option value="$PROJECT_DIR$/includes/form.html" />
<option value="$PROJECT_DIR$/includes/success.html" />
<option value="$PROJECT_DIR$/includes/form.php" />
<option value="$PROJECT_DIR$/includes/success.php" />
<option value="$PROJECT_DIR$/js/main.js" />
<option value="$PROJECT_DIR$/submit.php" />
<option value="$PROJECT_DIR$/css/main.scss" />
<option value="$PROJECT_DIR$/config/index.html" />
<option value="$PROJECT_DIR$/config.src/main.js" />
<option value="$PROJECT_DIR$/config.src/body.html" />
<option value="$PROJECT_DIR$/config.src/main.scss" />
<option value="$PROJECT_DIR$/index.php" />
</list>
</option>
</component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds">
<option name="x" value="4" />
<option name="y" value="22" />
<option name="width" value="1436" />
<option name="height" value="878" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectReloadState">
<option name="STATE" value="0" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="js" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="includes" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="img" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="css" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="css" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="main.scss" />
<option name="myItemType" value="com.intellij.plugins.watcher.projectView.NestingTreeNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="httpdocs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="config" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
<property name="options.splitter.main.proportions" value="0.3" />
<property name="options.lastSelected" value="settings" />
<property name="options.splitter.details.proportions" value="0.2" />
<property name="options.searchVisible" value="true" />
<property name="WebServerToolWindowFactoryState" value="true" />
<property name="FullScreen" value="false" />
<property name="DefaultHtmlFileTemplate" value="Html5" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
</component>
<component name="RunManager">
<configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner />
<method />
</configuration>
<configuration default="true" type="PhpLocalRunConfigurationType" factoryName="PHP Console">
<method />
</configuration>
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
<method />
</configuration>
<configuration default="true" type="PhpUnitRemoteRunConfigurationType" factoryName="PHPUnit on Server" server_id="9e3fe9ff-d017-48de-bd87-10073674a5a5" server_name="wayfaerer.danielhead.com">
<method />
</configuration>
<list size="0" />
</component>
<component name="ShelveChangesManager" show_recycled="false" />
<component name="SvnConfiguration" myUseAcceleration="nothing">
<configuration useDefault="false" />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="3770e927-60ba-4df0-98ed-e3807da3e673" name="Default" comment="" />
<created>1395600189451</created>
<option name="number" value="Default" />
<updated>1395600189451</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="4" y="22" width="1436" height="878" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.14418939" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3286648" sideWeight="0.5" order="9" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32868022" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="File Transfer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3473424" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
<option name="RECENTLY_FILTERED_USER_GROUPS">
<collection />
</option>
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
<collection />
</option>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<option name="myTodoPanelSettings">
<TodoPanelSettings />
</option>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="1" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="306" max-vertical-offset="1098">
<caret line="17" column="3" selection-start-line="17" selection-start-column="3" selection-end-line="17" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="810">
<caret line="39" column="3" selection-start-line="39" selection-start-column="3" selection-end-line="39" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config.src/body.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="738">
<caret line="25" column="41" selection-start-line="25" selection-start-column="41" selection-end-line="25" selection-end-column="41" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/index.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="390" max-vertical-offset="1098">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2952">
<caret line="47" column="34" selection-start-line="47" selection-start-column="34" selection-end-line="47" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/submit.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="864">
<caret line="11" column="29" selection-start-line="11" selection-start-column="29" selection-end-line="11" selection-end-column="29" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/form.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1314">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/success.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="72" max-vertical-offset="198">
<caret line="4" column="8" selection-start-line="4" selection-start-column="8" selection-end-line="4" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="306" max-vertical-offset="1098">
<caret line="17" column="3" selection-start-line="17" selection-start-column="3" selection-end-line="17" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="702" max-vertical-offset="810">
<caret line="39" column="3" selection-start-line="39" selection-start-column="3" selection-end-line="39" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2808">
<caret line="121" column="37" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/form.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1314">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/success.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="72" max-vertical-offset="198">
<caret line="4" column="8" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="82" max-vertical-offset="1098">
<caret line="17" column="3" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="702" max-vertical-offset="810">
<caret line="39" column="3" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2790">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/form.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1314">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/success.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="252">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1098">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="162">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/submit.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="738">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/form.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/success.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/submit.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/form.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/success.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/submit.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/success.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.10169491" vertical-offset="0" max-vertical-offset="708">
<caret line="4" column="8" selection-start-line="4" selection-start-column="8" selection-end-line="4" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/includes/form.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/img/pebble.png">
<provider selected="true" editor-type-id="images">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/submit.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="720">
<caret line="18" column="1" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.css">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="781">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/js/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="810">
<caret line="39" column="3" selection-start-line="39" selection-start-column="3" selection-end-line="39" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config.src/main.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="1.3421053" vertical-offset="0" max-vertical-offset="1755">
<caret line="68" column="31" selection-start-line="68" selection-start-column="31" selection-end-line="68" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="90" max-vertical-offset="1050">
<caret line="6" column="1" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/index.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="1065">
<caret line="11" column="371" selection-start-line="11" selection-start-column="371" selection-end-line="11" selection-end-column="371" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config.src/main.scss">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-26.916666" vertical-offset="1259" max-vertical-offset="2010">
<caret line="127" column="18" selection-start-line="127" selection-start-column="18" selection-end-line="127" selection-end-column="18" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config.src/body.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-11.25" vertical-offset="0" max-vertical-offset="750">
<caret line="18" column="85" selection-start-line="18" selection-start-column="85" selection-end-line="18" selection-end-column="85" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.php">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.1834239" vertical-offset="375" max-vertical-offset="2655">
<caret line="34" column="52" selection-start-line="34" selection-start-column="52" selection-end-line="34" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
</component>
</project>

View File

@@ -1,22 +0,0 @@
#!/bin/bash
scss -t compressed main.scss main.css
java -jar /Users/dan/.local/share/gcc/compiler.jar --compilation_level SIMPLE_OPTIMIZATIONS main.js > main-min.js
touch index.html
echo '<!DOCTYPE html>' > index.html
echo '<head>' >> index.html
echo ' <title>MineWatch</title>' >> index.html
echo ' <meta name="viewport" content="width=device-width, user-scalable=no">' >> index.html
echo ' <style type="text/css">' >> index.html
cat main.css >> index.html
echo ' </style>' >> index.html
echo ' <script type="text/javascript">' >> index.html
cat main-min.js >> index.html
echo ' </script>' >> index.html
echo '</head>' >> index.html
echo '<body>' >> index.html
cat body.html >> index.html
echo '</body>' >> index.html
echo '</html>' >> index.html
cp -v index.html ../config/
#scp index.html root@wayfaerer.danielhead.com:/var/www/danielhead.com/httpdocs/minewatch/config/
#rsync -a -e ssh config colony.danielhead.com:/var/www/minewatch/ --progress

View File

@@ -1,65 +0,0 @@
<!DOCTYPE html>
<head>
<title>MineWatch</title>
<meta name="viewport" content="width=device-width, user-scalable=no">
<style type="text/css">
body{margin:0;padding:0;font-family:"Verdana";background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(50%, #f3f3f3), color-stop(51%, #ededed), color-stop(100%, #fff));background:-webkit-linear-gradient(top, #fff 0%, #f3f3f3 50%, #ededed 51%, #fff 100%);background:linear-gradient(to bottom, #fff 0%, #f3f3f3 50%, #ededed 51%, #fff 100%)}h1{margin:0;padding:10px 5px;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #45484d), color-stop(100%, #000));background:-webkit-linear-gradient(top, #45484d 0%, #000 100%);background:linear-gradient(to bottom, #45484d 0%, #000 100%);color:white;display:block;text-align:center}h2{font-size:0.9em;margin:20px 10px 0 10px;padding-bottom:5px;border-bottom:2px solid #8e8e8e}h3{margin:5px 0;font-size:0.8em}p{font-size:0.8em;margin:1em 10px}ul.form{margin:0;padding:0;list-style:none}ul.form li{margin:0 10px;padding:10px 0;border-bottom:1px solid #8e8e8e}ul.form li p{display:inline-block;margin:0;line-height:2em}ul.form li input{float:right;width:116px;height:25px}ul.form li a{display:inline-block;float:right;width:120px;height:30px;position:relative;font-weight:bold;text-decoration:none;background-color:#c8c8c8}ul.form li a span{display:block;position:absolute;top:0;width:60px;height:16px;padding:7px 0;background-color:#8e8e8e;color:black;text-align:center;font-size:0.8em}ul.form li a.white span{background-color:white;color:black;right:0}ul.form li a.black span{background-color:black;color:white}ul.form li a.on span{background-color:blue;color:white;right:0}ul.form div.info{font-size:0.5em;margin-top:15px}ul.updates{list-style:none;margin:0;padding:0}ul.updates>li{margin:10px;padding-bottom:10px;border-bottom:1px solid #8e8e8e}ul.updates>li li{font-size:0.8em}ul.updates h3>span{color:red}a#save{display:block;width:60px;height:16px;padding:7px 0;text-align:center;font-weight:bold;text-decoration:none;margin:10px;background-color:blue;color:white}p#versioninfo{display:none;font-size:0.6em}
</style>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,!1);new form},!1);
var form=function(){this.el={bgcolour:document.getElementById("bgcolour"),notify:document.getElementById("notify"),flick:document.getElementById("flick"),update:document.getElementById("update"),submit:document.getElementById("submit"),apikey:document.getElementById("apikey"),save:document.getElementById("save")};this.config=this.getConfig();this.updateForm();this.showVersion(this.config.pblversion,this.config.jsversion);this.attach()};
form.prototype.getConfig=function(){var a=function(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");a=(new RegExp("[\\?&]"+a+"=([^&#]*)")).exec(location.search);return null==a?"":decodeURIComponent(a[1].replace(/\+/g," "))},b={};b.jsversion=a("jsversion");b.pblversion=a("pblversion");b.apikey=a("apikey");b.update=a("update");b.dark="true"==a("dark")?!0:!1;b.notify="true"==a("notify")?!0:!1;b.flick="true"==a("flick")?!0:!1;return b};
form.prototype.updateForm=function(){0<this.config.apikey.length&&(this.el.apikey.value=this.config.apikey);0<this.config.update.length&&(this.el.update.value=this.config.update);this.config.dark?(this.el.bgcolour.className="black",this.el.bgcolour.children[0].innerHTML="BLACK"):(this.el.bgcolour.className="white",this.el.bgcolour.children[0].innerHTML="WHITE");this.config.notify?(this.el.notify.className="on",this.el.notify.children[0].innerHTML="ON"):(this.el.notify.className="off",this.el.notify.children[0].innerHTML=
"OFF");this.config.flick?(this.el.flick.className="on",this.el.flick.children[0].innerHTML="ON"):(this.el.flick.className="off",this.el.flick.children[0].innerHTML="OFF")};
form.prototype.showVersion=function(a,b){for(var f=a?a:b,d=document.getElementsByClassName("app-version"),c=0;c<d.length;c++)if(d[c].getAttribute("data-version")==f){var e=d[c].getElementsByTagName("h3")[0];e.innerHTML+=" &ndash; <span>INSTALLED</span>"}a&&b&&(document.getElementById("appversioninfo").innerHTML=a,document.getElementById("jsversioninfo").innerHTML=b,document.getElementById("versioninfo").style.display="inline")};
form.prototype.attach=function(){var a=this;this.el.bgcolour.addEventListener("click",function(b){b.preventDefault();a.config.dark=!a.config.dark;a.updateForm()});this.el.notify.addEventListener("click",function(b){b.preventDefault();a.config.notify=!a.config.notify;a.updateForm()});this.el.flick.addEventListener("click",function(b){b.preventDefault();a.config.flick=!a.config.flick;a.updateForm()});this.el.update.addEventListener("change",function(){a.config.update=this.value});this.el.apikey.addEventListener("change",
function(){a.config.apikey=this.value});this.el.save.addEventListener("click",function(b){b.preventDefault();b="pebblejs://close#"+encodeURIComponent(JSON.stringify(a.config));window.location.href=b})};
</script>
</head>
<body>
<h1>MineWatch</h1>
<h2>Settings</h2>
<ul class="form">
<li>
<p>Background colour</p>
<a class="white" id="bgcolour" href="#"><span>WHITE</span></a>
</li>
<li>
<p>Enable vibes</p>
<a class="off" id="notify" href="#"><span>OFF</span></a>
<div class="info">Pebble will vibrate when a worker goes offline.</div>
</li>
<li>
<p>Flick to update</p>
<a class="off" id="flick" href="#"><span>OFF</span></a>
<div class="info">Flick Pebble to force update (limit to once per min)</div>
</li>
<li><p>Update rate (mins)</p><input type="number" min="1" max="60" step="1" value="15" id="update"/></li>
<li><p>API Key</p><input type="text" id="apikey" maxlength="64"/></li>
</ul>
<a id="save" href="#">SAVE</a>
<h2>Updates</h2>
<ul class="updates">
<li class="app-version" data-version="1.0.2">
<h3>v1.0.2 (15<sup>th</sup> May 2014)</h3>
<ul>
<li>Increase timeout from 10 to 30 seconds</li>
<li>Update settings to show installed version</li>
</ul>
</li>
<li class="app-version" data-version="1.0.1">
<h3>v1.0.1 (8<sup>th</sup> May 2014)</h3>
<ul>
<li>Initial release</li>
<li>Support for Slush's pool</li>
</ul>
</li>
</ul>
<h2>Contact</h2>
<p>Please report any bugs and submit feature requests to <em>me@danielhead.com</em>.</p>
<p>Support for other mining pools can be accomodated upon request.</p>
<p>Like this watchface? Bitcoin donations, no matter how small are appreciated. My bitcoin address is: <em>1CCsuAXhEbLiL2a43x1yxuhk5F6hEt1EBQ</em></p>
<p>For further support and feedback, please visit <em>danielhead.com/minewatch</em></p>
<p id="versioninfo">App version: <span id="appversioninfo"></span> / JS version: <span id="jsversioninfo"></span></p></body>
</html>

View File

@@ -1,8 +0,0 @@
document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,!1);new form},!1);
var form=function(){this.el={bgcolour:document.getElementById("bgcolour"),notify:document.getElementById("notify"),flick:document.getElementById("flick"),update:document.getElementById("update"),submit:document.getElementById("submit"),apikey:document.getElementById("apikey"),save:document.getElementById("save")};this.config=this.getConfig();this.updateForm();this.showVersion(this.config.pblversion,this.config.jsversion);this.attach()};
form.prototype.getConfig=function(){var a=function(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");a=(new RegExp("[\\?&]"+a+"=([^&#]*)")).exec(location.search);return null==a?"":decodeURIComponent(a[1].replace(/\+/g," "))},b={};b.jsversion=a("jsversion");b.pblversion=a("pblversion");b.apikey=a("apikey");b.update=a("update");b.dark="true"==a("dark")?!0:!1;b.notify="true"==a("notify")?!0:!1;b.flick="true"==a("flick")?!0:!1;return b};
form.prototype.updateForm=function(){0<this.config.apikey.length&&(this.el.apikey.value=this.config.apikey);0<this.config.update.length&&(this.el.update.value=this.config.update);this.config.dark?(this.el.bgcolour.className="black",this.el.bgcolour.children[0].innerHTML="BLACK"):(this.el.bgcolour.className="white",this.el.bgcolour.children[0].innerHTML="WHITE");this.config.notify?(this.el.notify.className="on",this.el.notify.children[0].innerHTML="ON"):(this.el.notify.className="off",this.el.notify.children[0].innerHTML=
"OFF");this.config.flick?(this.el.flick.className="on",this.el.flick.children[0].innerHTML="ON"):(this.el.flick.className="off",this.el.flick.children[0].innerHTML="OFF")};
form.prototype.showVersion=function(a,b){for(var f=a?a:b,d=document.getElementsByClassName("app-version"),c=0;c<d.length;c++)if(d[c].getAttribute("data-version")==f){var e=d[c].getElementsByTagName("h3")[0];e.innerHTML+=" &ndash; <span>INSTALLED</span>"}a&&b&&(document.getElementById("appversioninfo").innerHTML=a,document.getElementById("jsversioninfo").innerHTML=b,document.getElementById("versioninfo").style.display="inline")};
form.prototype.attach=function(){var a=this;this.el.bgcolour.addEventListener("click",function(b){b.preventDefault();a.config.dark=!a.config.dark;a.updateForm()});this.el.notify.addEventListener("click",function(b){b.preventDefault();a.config.notify=!a.config.notify;a.updateForm()});this.el.flick.addEventListener("click",function(b){b.preventDefault();a.config.flick=!a.config.flick;a.updateForm()});this.el.update.addEventListener("change",function(){a.config.update=this.value});this.el.apikey.addEventListener("change",
function(){a.config.apikey=this.value});this.el.save.addEventListener("click",function(b){b.preventDefault();b="pebblejs://close#"+encodeURIComponent(JSON.stringify(a.config));window.location.href=b})};

View File

@@ -1 +0,0 @@
body{margin:0;padding:0;font-family:"Verdana";background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(50%, #f3f3f3), color-stop(51%, #ededed), color-stop(100%, #fff));background:-webkit-linear-gradient(top, #fff 0%, #f3f3f3 50%, #ededed 51%, #fff 100%);background:linear-gradient(to bottom, #fff 0%, #f3f3f3 50%, #ededed 51%, #fff 100%)}h1{margin:0;padding:10px 5px;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #45484d), color-stop(100%, #000));background:-webkit-linear-gradient(top, #45484d 0%, #000 100%);background:linear-gradient(to bottom, #45484d 0%, #000 100%);color:white;display:block;text-align:center}h2{font-size:0.9em;margin:20px 10px 0 10px;padding-bottom:5px;border-bottom:2px solid #8e8e8e}h3{margin:5px 0;font-size:0.8em}p{font-size:0.8em;margin:1em 10px}ul.form{margin:0;padding:0;list-style:none}ul.form li{margin:0 10px;padding:10px 0;border-bottom:1px solid #8e8e8e}ul.form li p{display:inline-block;margin:0;line-height:2em}ul.form li input{float:right;width:116px;height:25px}ul.form li a{display:inline-block;float:right;width:120px;height:30px;position:relative;font-weight:bold;text-decoration:none;background-color:#c8c8c8}ul.form li a span{display:block;position:absolute;top:0;width:60px;height:16px;padding:7px 0;background-color:#8e8e8e;color:black;text-align:center;font-size:0.8em}ul.form li a.white span{background-color:white;color:black;right:0}ul.form li a.black span{background-color:black;color:white}ul.form li a.on span{background-color:blue;color:white;right:0}ul.form div.info{font-size:0.5em;margin-top:15px}ul.updates{list-style:none;margin:0;padding:0}ul.updates>li{margin:10px;padding-bottom:10px;border-bottom:1px solid #8e8e8e}ul.updates>li li{font-size:0.8em}ul.updates h3>span{color:red}a#save{display:block;width:60px;height:16px;padding:7px 0;text-align:center;font-weight:bold;text-decoration:none;margin:10px;background-color:blue;color:white}p#versioninfo{display:none;font-size:0.6em}

View File

@@ -1,65 +0,0 @@
<!DOCTYPE html>
<head>
<title>MineWatch</title>
<meta name="viewport" content="width=device-width, user-scalable=no">
<style type="text/css">
body{margin:0;padding:0;font-family:"Verdana";background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(50%, #f3f3f3), color-stop(51%, #ededed), color-stop(100%, #fff));background:-webkit-linear-gradient(top, #fff 0%, #f3f3f3 50%, #ededed 51%, #fff 100%);background:linear-gradient(to bottom, #fff 0%, #f3f3f3 50%, #ededed 51%, #fff 100%)}h1{margin:0;padding:10px 5px;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #45484d), color-stop(100%, #000));background:-webkit-linear-gradient(top, #45484d 0%, #000 100%);background:linear-gradient(to bottom, #45484d 0%, #000 100%);color:white;display:block;text-align:center}h2{font-size:0.9em;margin:20px 10px 0 10px;padding-bottom:5px;border-bottom:2px solid #8e8e8e}h3{margin:5px 0;font-size:0.8em}p{font-size:0.8em;margin:1em 10px}ul.form{margin:0;padding:0;list-style:none}ul.form li{margin:0 10px;padding:10px 0;border-bottom:1px solid #8e8e8e}ul.form li p{display:inline-block;margin:0;line-height:2em}ul.form li input{float:right;width:116px;height:25px}ul.form li a{display:inline-block;float:right;width:120px;height:30px;position:relative;font-weight:bold;text-decoration:none;background-color:#c8c8c8}ul.form li a span{display:block;position:absolute;top:0;width:60px;height:16px;padding:7px 0;background-color:#8e8e8e;color:black;text-align:center;font-size:0.8em}ul.form li a.white span{background-color:white;color:black;right:0}ul.form li a.black span{background-color:black;color:white}ul.form li a.on span{background-color:blue;color:white;right:0}ul.form div.info{font-size:0.5em;margin-top:15px}ul.updates{list-style:none;margin:0;padding:0}ul.updates>li{margin:10px;padding-bottom:10px;border-bottom:1px solid #8e8e8e}ul.updates>li li{font-size:0.8em}ul.updates h3>span{color:red}a#save{display:block;width:60px;height:16px;padding:7px 0;text-align:center;font-weight:bold;text-decoration:none;margin:10px;background-color:blue;color:white}p#versioninfo{display:none;font-size:0.6em}
</style>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,!1);new form},!1);
var form=function(){this.el={bgcolour:document.getElementById("bgcolour"),notify:document.getElementById("notify"),flick:document.getElementById("flick"),update:document.getElementById("update"),submit:document.getElementById("submit"),apikey:document.getElementById("apikey"),save:document.getElementById("save")};this.config=this.getConfig();this.updateForm();this.showVersion(this.config.pblversion,this.config.jsversion);this.attach()};
form.prototype.getConfig=function(){var a=function(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");a=(new RegExp("[\\?&]"+a+"=([^&#]*)")).exec(location.search);return null==a?"":decodeURIComponent(a[1].replace(/\+/g," "))},b={};b.jsversion=a("jsversion");b.pblversion=a("pblversion");b.apikey=a("apikey");b.update=a("update");b.dark="true"==a("dark")?!0:!1;b.notify="true"==a("notify")?!0:!1;b.flick="true"==a("flick")?!0:!1;return b};
form.prototype.updateForm=function(){0<this.config.apikey.length&&(this.el.apikey.value=this.config.apikey);0<this.config.update.length&&(this.el.update.value=this.config.update);this.config.dark?(this.el.bgcolour.className="black",this.el.bgcolour.children[0].innerHTML="BLACK"):(this.el.bgcolour.className="white",this.el.bgcolour.children[0].innerHTML="WHITE");this.config.notify?(this.el.notify.className="on",this.el.notify.children[0].innerHTML="ON"):(this.el.notify.className="off",this.el.notify.children[0].innerHTML=
"OFF");this.config.flick?(this.el.flick.className="on",this.el.flick.children[0].innerHTML="ON"):(this.el.flick.className="off",this.el.flick.children[0].innerHTML="OFF")};
form.prototype.showVersion=function(a,b){for(var f=a?a:b,d=document.getElementsByClassName("app-version"),c=0;c<d.length;c++)if(d[c].getAttribute("data-version")==f){var e=d[c].getElementsByTagName("h3")[0];e.innerHTML+=" &ndash; <span>INSTALLED</span>"}a&&b&&(document.getElementById("appversioninfo").innerHTML=a,document.getElementById("jsversioninfo").innerHTML=b,document.getElementById("versioninfo").style.display="inline")};
form.prototype.attach=function(){var a=this;this.el.bgcolour.addEventListener("click",function(b){b.preventDefault();a.config.dark=!a.config.dark;a.updateForm()});this.el.notify.addEventListener("click",function(b){b.preventDefault();a.config.notify=!a.config.notify;a.updateForm()});this.el.flick.addEventListener("click",function(b){b.preventDefault();a.config.flick=!a.config.flick;a.updateForm()});this.el.update.addEventListener("change",function(){a.config.update=this.value});this.el.apikey.addEventListener("change",
function(){a.config.apikey=this.value});this.el.save.addEventListener("click",function(b){b.preventDefault();b="pebblejs://close#"+encodeURIComponent(JSON.stringify(a.config));window.location.href=b})};
</script>
</head>
<body>
<h1>MineWatch</h1>
<h2>Settings</h2>
<ul class="form">
<li>
<p>Background colour</p>
<a class="white" id="bgcolour" href="#"><span>WHITE</span></a>
</li>
<li>
<p>Enable vibes</p>
<a class="off" id="notify" href="#"><span>OFF</span></a>
<div class="info">Pebble will vibrate when a worker goes offline.</div>
</li>
<li>
<p>Flick to update</p>
<a class="off" id="flick" href="#"><span>OFF</span></a>
<div class="info">Flick Pebble to force update (limit to once per min)</div>
</li>
<li><p>Update rate (mins)</p><input type="number" min="1" max="60" step="1" value="15" id="update"/></li>
<li><p>API Key</p><input type="text" id="apikey" maxlength="64"/></li>
</ul>
<a id="save" href="#">SAVE</a>
<h2>Updates</h2>
<ul class="updates">
<li class="app-version" data-version="1.0.2">
<h3>v1.0.2 (15<sup>th</sup> May 2014)</h3>
<ul>
<li>Increase timeout from 10 to 30 seconds</li>
<li>Update settings to show installed version</li>
</ul>
</li>
<li class="app-version" data-version="1.0.1">
<h3>v1.0.1 (8<sup>th</sup> May 2014)</h3>
<ul>
<li>Initial release</li>
<li>Support for Slush's pool</li>
</ul>
</li>
</ul>
<h2>Contact</h2>
<p>Please report any bugs and submit feature requests to <em>me@danielhead.com</em>.</p>
<p>Support for other mining pools can be accomodated upon request.</p>
<p>Like this watchface? Bitcoin donations, no matter how small are appreciated. My bitcoin address is: <em>1CCsuAXhEbLiL2a43x1yxuhk5F6hEt1EBQ</em></p>
<p>For further support and feedback, please visit <em>danielhead.com/minewatch</em></p>
<p id="versioninfo">App version: <span id="appversioninfo"></span> / JS version: <span id="jsversioninfo"></span></p></body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,49 +0,0 @@
h1, h2, h3, .footer {
font-family: "Holtwood One SC";
color: #4d4d4d; }
.heading {
margin: 20px auto; }
.heading h1 {
font-size: 250%; }
.heading h2 {
font-size: 120%; }
.heading ul {
list-style-type: circle; }
.panel.news h4, .panel.news p.date {
display: inline-block; }
.panel.news p.date {
font-size: 0.8em; }
@media only screen and (max-width: 48em) {
.heading {
margin-top: 5px; }
.heading h1, .heading h2, .heading .pebble-img {
text-align: center; }
.heading .pebble-img {
margin: 10px auto; } }
@media only screen and (min-width: 48em) {
.heading h1 {
margin-top: 40px; }
.heading .panel {
border: none;
margin-bottom: 0;
padding: 0;
background: none; } }
.social > div, .social > iframe {
display: block;
margin-bottom: 10px; }
.donate form {
float: left; }
.footer {
text-align: center; }
.error {
font-weight: bold;
color: red; }
input.red, textarea.red {
background-color: #ffcdcd; }

View File

@@ -1,423 +0,0 @@
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined in IE 8/9.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio,
canvas,
progress,
video {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9.
* Hide the `template` element in IE, Safari, and Firefox < 22.
*/
[hidden],
template {
display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE 8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9.
*/
img {
border: 0;
}
/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari 5.
*/
figure {
margin: 1em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
overflow: auto;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
* Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
*/
button,
input,
optgroup,
select,
textarea {
color: inherit; /* 1 */
font: inherit; /* 2 */
margin: 0; /* 3 */
}
/**
* Address `overflow` set to `hidden` in IE 8/9/10.
*/
button {
overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8+, and Opera
* Correct `select` style inheritance in Firefox.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9.
*/
textarea {
overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}

View File

@@ -1,8 +0,0 @@
/* Foundation was made by ZURB, an interaction design and design strategy firm in Campbell, CA */
/* zurb.com */
/* humanstxt.org */
/* SITE */
Standards: HTML5, CSS3
Components: jQuery, Orbit, Reveal
Software: Sublime, Git, Sass

View File

@@ -1 +0,0 @@

23
package.json Normal file
View File

@@ -0,0 +1,23 @@
{
"name": "MineWatch",
"version": "1.0.2",
"description": "Pebble app that consumes Bitcoin pool APIs",
"repository": {
"type": "git",
"url": "git@git.danielhead.com:dan/minewatch.git"
},
"author": "Dan Head <me@danielhead.com>",
"devDependencies": {
"closure-compiler-jar": "0.0.1",
"grunt": "^0.4.5",
"grunt-autoprefixer": "^0.7.3",
"grunt-closure-tools": "^0.9.6",
"grunt-contrib-clean": "^0.5.0",
"grunt-contrib-copy": "^0.5.0",
"grunt-contrib-sass": "^0.7.3",
"grunt-contrib-watch": "^0.6.1",
"grunt-file-blocks": "^0.3.0",
"grunt-html-build": "^0.3.2",
"grunt-shell": "^0.7.0"
}
}

View File

Before

Width:  |  Height:  |  Size: 206 B

After

Width:  |  Height:  |  Size: 206 B

View File

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 219 B

View File

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 215 B

View File

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 218 B

View File

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 219 B

View File

Before

Width:  |  Height:  |  Size: 221 B

After

Width:  |  Height:  |  Size: 221 B

View File

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 237 B

View File

Before

Width:  |  Height:  |  Size: 197 B

After

Width:  |  Height:  |  Size: 197 B

View File

Before

Width:  |  Height:  |  Size: 189 B

After

Width:  |  Height:  |  Size: 189 B

View File

Before

Width:  |  Height:  |  Size: 196 B

After

Width:  |  Height:  |  Size: 196 B

View File

Before

Width:  |  Height:  |  Size: 213 B

After

Width:  |  Height:  |  Size: 213 B

View File

Before

Width:  |  Height:  |  Size: 217 B

After

Width:  |  Height:  |  Size: 217 B

View File

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 231 B

View File

Before

Width:  |  Height:  |  Size: 204 B

After

Width:  |  Height:  |  Size: 204 B

View File

@@ -1,6 +1,19 @@
<!DOCTYPE html>
<head>
<title>MineWatch</title>
<meta name="viewport" content="width=device-width, user-scalable=no">
<style type="text/css">
<!-- build:section css -->
<!-- /build -->
</style>
<script type="text/javascript">
<!-- build:section js -->
<!-- /build -->
</script>
</head>
<body>
<h1>MineWatch</h1> <h1>MineWatch</h1>
<h2>Settings</h2> <h2>Settings</h2>
<ul class="form"> <ul class="form">
<li> <li>
<p>Background colour</p> <p>Background colour</p>
@@ -42,4 +55,6 @@
<p>Support for other mining pools can be accomodated upon request.</p> <p>Support for other mining pools can be accomodated upon request.</p>
<p>Like this watchface? Bitcoin donations, no matter how small are appreciated. My bitcoin address is: <em>1CCsuAXhEbLiL2a43x1yxuhk5F6hEt1EBQ</em></p> <p>Like this watchface? Bitcoin donations, no matter how small are appreciated. My bitcoin address is: <em>1CCsuAXhEbLiL2a43x1yxuhk5F6hEt1EBQ</em></p>
<p>For further support and feedback, please visit <em>danielhead.com/minewatch</em></p> <p>For further support and feedback, please visit <em>danielhead.com/minewatch</em></p>
<p id="versioninfo">App version: <span id="appversioninfo"></span> / JS version: <span id="jsversioninfo"></span></p> <p id="versioninfo">App version: <span id="appversioninfo"></span> / JS version: <span id="jsversioninfo"></span></p>
</body>
</html>

View File

@@ -2,7 +2,6 @@ $darkgrey: #8e8e8e;
$lightgrey: #c8c8c8; $lightgrey: #c8c8c8;
$blue:blue; $blue:blue;
body { body {
margin: 0; margin: 0;
padding: 0; padding: 0;

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -7,10 +7,9 @@ define("accessAllowed", true);
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>MineWatch &ndash; Your Bitcoin workers, now on your wrist</title> <title>MineWatch &ndash; Your Bitcoin workers, now on your wrist</title>
<link rel="stylesheet" href="css/foundation.css"/> <!-- fileblock:css styles -->
<link rel="stylesheet" href="css/main.css"/> <!-- endfileblock -->
<link href='http://fonts.googleapis.com/css?family=Holtwood+One+SC' rel='stylesheet' type='text/css'> <link href='http://fonts.googleapis.com/css?family=Holtwood+One+SC' rel='stylesheet' type='text/css'>
<script src="js/vendor/modernizr.js"></script>
<script src="http://coinwidget.com/widget/coin.js"></script> <script src="http://coinwidget.com/widget/coin.js"></script>
</head> </head>
<body> <body>
@@ -153,9 +152,8 @@ define("accessAllowed", true);
</div> </div>
</div> </div>
<script src="js/vendor/jquery.js"></script> <!-- fileblock:js app -->
<script src="js/foundation.min.js"></script> <!-- endfileblock -->
<script src="js/main.js"></script>
<script> <script>
$(document).foundation(); $(document).foundation();
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){