Repository files navigation

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
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;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} 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

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } 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

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } 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

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

Type Mate

A Gmail Smart Compose Clone

Type Mate is a predictive text assistant plugin into Quill Editor to help save effort in composing long paragraphs while typing. Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase. The user either implements the suggestions or keeps on typing as they desire.

Features

Editor Toolbar

The editing toolbar is displayed where content can be added or edited in course sites, and provides access to commonly used functions such as:

  • Format text.
  • Insert/edit an image.
  • Insert/edit a link.
  • Paste content.
  • Insert an emoticon.
  • View and edit HTML.

Smart Prediction

Smart compose feature in Type Mate offers a faster way to compose paragraphs, while avoiding typos and errors in grammar. As a user types their paragraphs with Smart Compose enabled, suggestions are offered for the rest of the word or phrase.

Word Based Prediction

Word based prediction provides a list of words that are similar to the word the user is typing, hence it might help the user to type the words correctly.

Sentence Based Prediction

Sentence based prediction provides a more natural feel to the typing experience by providing suggestions for the rest of the sentence, rather than the word or the phrase. It is the default prediction mode in Type Mate.

Algorithm

Suggestion Service is the core of Type Mate. It is responsible for providing the list of suggestions for the user to type. It takes the sentence the user is typing and checks through the mock data of Reddit posts to find the most relevant words.

  • Picks user's input from the text editor.
  • Filter's out the most relevant part of the sentence based on the suggestion mode (Sentence Mode / Word Mode).
  • For Sentence Mode, it picks the last sentence from the current caret position and saves it as Search Token.
  • For Word Mode, it picks the last word from the current caret position and saves it as Search Token.
  • Once the Search Token is picked, it searches through the moc data for sentences starting with the Search Token.
  • If we get at least 5 matching sentences, algorithm will return the first 5 sentences.
  • If we get less than 5 matching sentences, algorithm will search for the Search Token in between sentences.
  • Once both the processes are done, it will sort and return the generated suggestions to the user in the form of dropdown suggestion.

About

Type Mate: Your Quill Editor's predictive text companion. Mimicking Gmail's Smart Compose, it streamlines paragraph creation, offering word and sentence-based suggestions. Effortless composition with minimized errors and enhanced typing speed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages