Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ClassSchedule

Simple program designed to simplify scheduling classes by module

Building

All instructions provided have been tested on windows hosts, linux will vary

This project is build using node-webkit. This means that it's not possible to just run index.html to launch it. nw.js must be used to package and run the application.

To do this in testing (without fully packaging)

  • Download nw from: https://nwjs.io/
  • Run: nw.exe Path\To\ClassSchedule [--enable-logging]

To package the application

  • Download nw from: https://nwjs.io/
  • Run (from powershell 5.0, in folder containing nw.exe): Compress-Archive -Path Path\To\ClassSchedule -DestinationPath Path\To\ClassSchedule.zip ; copy /b nw.exe+Path\To\ClassSchedule.nw CLassSchedule.exe

Features: Current (version 0.1.0)

  • Create new class
    • Class Name
    • Class Image
    • Class Type
    • Class Days
    • First Schedule Name
  • Create new entry (Day)
    • Modifiable start time
  • Rename entry
  • Delete entry
  • Create new module (intra-entry)
    • Create above
    • Create below
  • Move module (drag and drop)
    • Move between entries
    • Move within same entry
  • Delete module
  • Change entry title color (colorpicker)
  • Change module title color (colorpicker)
  • Change module time (how long the module will run for)
  • Create new schedule
    • Allows different modules between schedules
    • Allows different module order between schedules
    • Allows different times per module between schedules
    • Allows different entry starting time
  • Locked "end of day" row with ending time-of-day
  • Custom css files can be added to the settings folder
  • All classes stored as .json files, user editable
  • Editable class type

Features: Planned

  • GUI improvmenets
    • Add condition to change text color to black if background is light?
    • Highlight over-time modules in red?
    • When renaming module or entry, auto-fill input with current name
  • Module details
    • Add ability to add notes to module (make module expandable)
    • Ability to add file-links within notes
  • Entry focus
    • Add entries to left-hand side so that a single entry may be selected and focused on to eliminate distractions
  • Per-class css themes?
  • Need to research further - but probably not possible
    • Improve program opening speed
    • Decrease .exe size
  • Distribution system?
    • Possibly add online or hosted class distro system to share between trainers
    • Probably won't happen

Bugs: Known bugs

<<<<<<< HEAD

  • Known bugs as of 05/11/2017 1.2.1 build
    • None =======
  • Known bugs as of 05/11/2017 1.2.0 build
    • Colors set on wrong modules after adding new module (index issue?) - CONFIRMED ISSUE STILL EXISTS
    • Times not fully updating after manually setting module time

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

Change Log

1.0.1

  • Fixed bug: Module minute time change not committed

1.1.0

  • Fixed bug: Jumps to top when adding stuff
  • Fixed bug: Takes a long time to commit minute change for modules
  • Added feature: Context menu to modify module time duration
  • Added feature: Context menu to rename module entry

1.2.0

  • Fixed bug: Changes reverting when moving items around (indexing method was wrong) gui.js:230->266
  • Fixed bug: Fixed modify time (module context menu) - using arrows after setting would reset to 0
  • Added workaround: Null entries and items will now be ignored by display process. Need to figure out why nulls occur and fix...
  • Added feature: Added entry summary as part of "End of day" row
  • Altered feature: "End of day" module now exempt from context menu
  • GUI Improvements
    • Improved module column start position match
    • Module time addition spinner now updates while holding down (need to test compiled)
    • Added flipster home for prettieness (this was ridiculously time consuming?!)
    • Improved module title labels
  • Added installer option <<<<<<< HEAD

1.3.0

  • Fixed bug: Colors set on wrong modules after adding new module (index issue?)
  • Fixed bug: Moving modules between entries screws everything up
  • Fixed bug: Using context menu to update time fails to update times of modules below
  • Added schedule export feature
  • When altering names, pre-populate form with current name =======

6c0ed4511c02e5e86be94bbc1ac46fa917b5ac14

About

Simple program designed to simplify scheduling classes by module

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages