Skip to content

Commit

Permalink
Initial commit of v3.2
Browse files Browse the repository at this point in the history
Licensed under GPL v3
  • Loading branch information
gskinner committed Jun 11, 2018
1 parent cab105c commit 95c7a23
Show file tree
Hide file tree
Showing 125 changed files with 48,229 additions and 4 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -31,3 +31,4 @@ regexr.css
*.map
scripts.min.js
yarn.lock
TMP_*
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

14 changes: 10 additions & 4 deletions README.md
@@ -1,3 +1,5 @@


RegExr v3.0
======

Expand All @@ -17,9 +19,13 @@ RegExr v3.0
# Issues & Feature Requests
Please report issues & feature requests on [GitHub](https://github.com/gskinner/regexr/issues).

# Source Code
This version of RegExr is not open source (yet).
# Contributing
If you would like to contribute back to RegExr.com please send us pull requests.

Please make sure they are well formatted and follow the style specified out in the existing files.

I'm a firm proponent of open source, but it provided negligible benefits for the project, and formed the foundation for a number of competitive sites, many of which did not open source their own work. This wasn't a requirement by any means, but it created a value imbalance. RegExr will probably be open sourced again in the future, but I am considering releasing it under GPL to encourage people building on it to share alike.
# License
This version of RegExr is licensed under GPL v3. If you're interested in using the source under other terms, feel free to [get in touch](gskinner.com).

[Feedback](https://github.com/gskinner/regexr/issues/204) on this decision is very much welcomed. If you're interested in using the source for something in the interim, feel free to [get in touch](gskinner.com).
# Build
RegExr uses Gulp to manage the build process. You will need to install Node and Gulp, and install other dependencies via `npm install`.
Binary file added assets/card.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/fonts/roboto-condensed-v14-latin-700.woff
Binary file not shown.
Binary file added assets/fonts/roboto-condensed-v14-latin-700.woff2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added assets/fonts/source-code-pro-v6-latin-700.woff
Binary file not shown.
Binary file added assets/fonts/source-code-pro-v6-latin-700.woff2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added assets/icons/android-chrome-192x192.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/icons/android-chrome-512x512.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/icons/apple-touch-icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions assets/icons/browserconfig.xml
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/assets/icons/mstile-150x150.png"/>
<TileColor>#80c0f0</TileColor>
</tile>
</msapplication>
</browserconfig>
Binary file added assets/icons/favicon-16x16.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/icons/favicon-32x32.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/icons/favicon.ico
Binary file not shown.
Binary file added assets/icons/google-apps-120x120.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions assets/icons/manifest.json
@@ -0,0 +1,18 @@
{
"name": "",
"icons": [
{
"src": "/assets/icons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/assets/icons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#80c0f0",
"background_color": "#80c0f0",
"display": "standalone"
}
Binary file added assets/icons/mstile-150x150.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/safari-pinned-tab.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions assets/privacy.html
@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>RegExr: Privacy Policy</title>
<style>
body {
font-family: Arial, sans-serif;
color: #bdc3c6;
font-size: 16px;
padding: 3em;
width: 40em;
background: #2e3234;
}
h1 {
font-size: 1.25em;
color: #e0e2e4;
}
ul {
padding-left: 2em;
}
</style>
</head>

<body>
<h1>RegExr Privacy Policy</h1>
<p>We'll keep this simple: We take your privacy seriously. When you sign in to RegExr, we capture only the following information: <ul>
<li>Your username. To use as your default Author Name for patterns.</li>
<li>Your email. To identify you and secure your account.</li>
</ul></p>
<p>Your information is not shared with third parties, or used for any other purposes.</p>
</body>
</html>
20 changes: 20 additions & 0 deletions assets/workers/RegExWorker.js
@@ -0,0 +1,20 @@

// in plain JS for now:
onmessage = function (evt) {
postMessage("onload");
var regex = new RegExp(evt.data.pattern, evt.data.flags), text = evt.data.text;

// shared between BrowserSolver & RegExWorker
var matches = [], match, index, error;
while (match = regex.exec(text)) {
if (index === regex.lastIndex) { error = {id:"infinite"}; break; }
index = regex.lastIndex;
var groups = match.reduce(function (arr, s, i) { return (i===0 || arr.push({s:s})) && arr },[]);
matches.push({i:match.index, l:match[0].length, groups:groups});
if (!regex.global) { break; } // or it will become infinite.
}
// end share

postMessage({error: error, matches: matches});
self.close();
};

0 comments on commit 95c7a23

Please sign in to comment.