Inconsolata is back to the default theme + CSS minor changes

This commit is contained in:
Raphaël Bastide 2011-10-24 16:31:25 +02:00
commit b05631305d
46 changed files with 382 additions and 54 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.DS_Store

View file

@ -4,7 +4,6 @@
<title>MIT License</title>
<meta charset=utf-8>
<meta name=viewport content="width=device-width, initial-scale=0.70;">
<link href='http://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
<!--
Welcome fellow open source developer. This project is here for you to
link to if you're like me and keep forgetting to include the
@ -31,27 +30,9 @@
- @rem
-->
<style>
html { background: #eee; }
body { margin: 0; font-family: "Inconsolata", "DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; font-size: 1.2em; line-height: 1.2em; }
article, footer { display: block; min-width: 360px; max-width: 900px; width: 80%; }
article { margin: 2.5em auto 0 auto; border: 1px solid ; border-color: #ddd #aaa #aaa #ddd; padding: 2em; background: #fff; }
h1 { margin-top: 0; }
article p:first-of-type { margin-top: 1.6em; }
article p:last-child { margin-bottom: 0; }
footer { margin: 0em auto 2em auto; }
footer a { display: block; text-align: center; color: #999; text-shadow: 0 1px 1px #fff; text-decoration:none; font-size:.8em; }
footer a:before{content: "⏦"; font-size:1.5em; padding-right:.2em; }
footer a:hover, footer a:focus { color: #333; }
h1 {font-weight:normal; display:inline; border-bottom:1px solid black; padding:0 0 3px 0;}
a { color:#2844FA; text-decoration:none;}
a:hover, a:focus { color:#1B29A4; }
:-moz-any-link:focus {background:#ccc;}
::selection {background:#ccc;}
::-moz-selection {background:#ccc;}
</style>
<!-- for HTML5 el styling -->
<script>document.createElement('article');document.createElement('footer');</script>
<link rel="stylesheet" href="/themes/{{theme}}.css">
</head>
<body>
<article>

136
README.md
View file

@ -4,18 +4,50 @@ I always forget to add an MIT-license.txt file to my projects, so I
wanted to link to a single resource that would always be up to date and
would always have my details online.
But why keep this to myself, so it's on github for your fork and pulling
pleasure.
But why keep this to myself, there's two ways to create your *own* MIT
license page:
1. Make a request to the API (details below)
2. Fork this project and send a pull request
Now I can always include http://rem.mit-license.org in all my projects
which links `rem` (the cname) against my copyright holder name `Remy
Sharp` - all stored in the `users` directory.
## Example
## Requesting your own MIT license page
You can fork this project, send me a pull request and wait for me to
pull (which I'll do as quickly as possible) or if the user is still
available you can do it yourself from the command line:
curl -d'{ "copyright": "Remy Sharp" }' http://rem.mit-license.org
If the `rem` user isn't taken already, then this will create the new
user file on the fly and the url will be immediately available.
If there's any problems in the automated creation, send me a pull
request and it'll go live soon after.
Equally if you need to update the user file to include more details that
you didn't initially include (extra fields in the next section) you will
need to send a pull request on that `user.json` file via GitHub.
## The user.json file
The `users` directory contains a list of files, each representing a host
on mit-license.org. As present the file format is very simple, but can
be upgraded in future.
on mit-license.org. The minimum requirement for the JSON is that is
contains a `copyright` field - everything else is optional.
Available fields:
* copyright (required)
* url
* email
* format
* version
* theme
### copyright
Create a new file and give it the name of the CNAME you want (in my case
it's `rem.json`). This file contains a JSON object containing at least a
@ -28,6 +60,8 @@ it's `rem.json`). This file contains a JSON object containing at least a
Means I can now link to: http://rem.mit-license.org and it will show my
license name (note that the date will always show the current year).
### url
In addition to the `copyright` property, if you want to make a link from
the copyright text, you can include a `url` property:
@ -36,6 +70,20 @@ the copyright text, you can include a `url` property:
"url": "http://remysharp.com"
}
### email
You can also include a link to your email which is displayed after the
copyright notice using the `email` property (note the `mailto:` is
automatically added):
{
"copyright": "Remy Sharp, http://remysharp.com",
"url": "http://remysharp.com",
"email": "me@mysite.com"
}
### format
And if you want your license to appear as plain text, just add the
`format` property (currently only `txt` and `html` are supported):
@ -45,10 +93,7 @@ And if you want your license to appear as plain text, just add the
"format": "txt"
}
Finally you can also include a license version target in the JSON file
as explained in the next section.
## License version targeting
### License version targeting
License version targeting allows you to link your MIT license to a
specific revision in this project - therefore fixing it permanently to
@ -60,7 +105,7 @@ extra assurance for you.
Targeting requires the [sha from the license commit](https://github.com/remy/mit-license/commits/master/LICENSE.html). This can be
specified on the URL (in your permalink) or in the JSON file.
For example: http://rem.mit-license.org/a526bf7ad1 (make sure to view-source) shows an older version of comments inline to the HTML document (compared to the [latest version](http://rem.mit-license.org)).
For example: http://rem.mit-license.org/a526bf7ad1 (make sure to view-source) shows an older version of the LICENSE.html file (compared to the [latest version](http://rem.mit-license.org) - the older version didn't have the new themes).
This can also be targeted in my JSON file:
@ -73,6 +118,56 @@ This can also be targeted in my JSON file:
Note that if no version is supplied, the latest copy of the LICENSE.html
will be displayed with your information included.
### Themes
If you've got an eye for design (or like me: not): you can contribute a
theme by adding a CSS file to the `themes` directory. The default theme
is simple and clean, but you can add your own as you like.
To use a theme, add the `theme` property to your `user.json` file, for
example:
{
"copyright": "Remy Sharp, http://remysharp.com",
"url": "http://remysharp.com",
"theme": "flesch"
}
Current available themes:
* default - [preview](http://mit-license.org) (by
[@remy](http://github.com/remy) &
[@raphaelbastide](http://github.com/raphaelbastide))
* flesch - [preview](http://jsbin.com/ufefid/3) (by
[@flesch](http://github.com/flesch))
* afterdark - [preview](http://jsbin.com/ivufon/4) (by [@rmartindotco](http://github.com/rmartindotco))
* orange - [preview](http://jsbin.com/uzubos/2) (by [@kirbylover4000](http://github.com/kirbylover4000))
## Formats & URLs
The following types of requests can be made to this project:
* [http://rem.mit-license.org/](http://rem.mit-license.org/) HTML, or the default format specified in
the json file (currently none specified on `rem`)
* [http://rem.mit-license.org/license.html](http://rem.mit-license.org/license.html) HTML
* [http://rem.mit-license.org/license.txt](http://rem.mit-license.org/license.txt) Text
* [http://rem.mit-license.org/a526bf7ad1](http://rem.mit-license.org/a526bf7ad1) a526bf7ad1 version, HTML, or the
default format specified in the json file (again, none specified for
`rem` so defaults to HTML)
* [http://rem.mit-license.org/a526bf7ad1/license.html](http://rem.mit-license.org/a526bf7ad1/license.html) a526bf7ad1 version,
HTML
* [http://rem.mit-license.org/a526bf7ad1/license.txt](http://rem.mit-license.org/a526bf7ad1/license.txt) a526bf7ad1 version,
text
The url also supports including a start year:
* [http://rem.mit-license.org/2009/](http://rem.mit-license.org/2009/) will
show a license year range of 2009-2011 (2011 being the current year)
* [http://rem.mit-license.org/2009-2010](http://rem.mit-license.org/2009-2010/)
allows me to force the year range
* [http://rem.mit-license.org/a526bf7ad1/2009-2010/license.txt](http://rem.mit-license.org/a526bf7ad1/2009-2010/license.txt) a526bf7ad1 version, with year range of 2009-2010 in plain text
## Ways to contribute
Aside from code contributions that make the project better, there are a
@ -92,12 +187,25 @@ year. If you want to contribute a year, send me a message and I'll add
the years on.
Of course I'll do my best to continue running the domain and hosting,
but this is your change to contribute to the community project.
but this is your chance to contribute to the community project.
Domain contributions:
* [remy](http://github.com/remy) - 2011-2012
* [barberboy](http://github.com/barberboy) - 2012-2013
* [paulirish](http://github.com/paulirish) - 2013-2014
* [batuhanicoz](http://github.com/batuhanicoz) - 2014-2015
* [buritica](http://github.com/buritica) - 2015-2016
* [adamstrawson](http://github.com/adamstrawson) - 2016-2018 (2 years)
* [keithamus](http://github.com/keithamus) - 2018-2026 (8 years)
* [pmuellr](http://github.com/pmuellr) - 2026-2027
* [danielknell](http://github.com/danielknell) - 2027-2029 (2 years)
* [barberboy](http://github.com/barberboy) - 2029-2030
* [mostly-magic](http://github.com/mostly-magic) - 2030-2032
*Please note that the whois says 2021 as you can only have 10 active
registered years with ICCAN - but the domain is set to auto-renew, so
it's all good :)*
### 2. Hosting
@ -112,11 +220,7 @@ being lovely.
I'm a developer, I seem only capable of *grey*! If you're a designer and
want to contribute a decent lick of paint on the project that would be
super. Obviously the content should remain to the point and simple, but
I'm sure it could be tightened or sharpened.
Drop me a messsage with any idea you've got (or even just a bit of CSS)
and we'll get it live.
super. Just create a new theme and send me a pull request.
## License

View file

@ -3,18 +3,56 @@
date_default_timezone_set('Europe/London'); // stop php from whining
$format = 'html';
$user_file = preg_replace('/\.mit-license\..*$/', '', $_SERVER["HTTP_HOST"]);
$theme = 'default';
$cname = '';
// sanitise user (not for DNS, but for file reading, I don't know
// just in case it's hacked about with or something bananas.
$user_file = preg_replace('/[^a-z0-9\-]/', '', $user_file);
$user_file = 'users/'.$user_file.'.json';
// use a match instead of preg_replace to ensure we got the cname
preg_match('/^([a-z0-9\-]+)\.mit-license\..*$/', $_SERVER['HTTP_HOST'], $match);
if (file_exists($user_file)) {
if (count($match) == 2) {
$cname = $match[1];
}
$user_file = 'users/' . $cname . '.json';
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $cname) {
try {
$data = json_decode(file_get_contents('php://input'));
if (!property_exists($data, 'copyright')) {
Throw new Exception('>>> JSON requires "copyright" property and value');
}
if (file_exists($user_file)) {
Throw new Exception(wordwrap('>>> User already exists - to update values, please send a pull request on https://github.com/remy/mit-license'));
}
if (!file_put_contents($user_file, json_encode($data))) {
Throw new Exception(wordwrap('>>> Unable to create new user - please send a pull request on https://github.com/remy/mit-license'));
}
echo '>>> MIT license page created: http://' . $_SERVER['HTTP_HOST'] . "\n\n";
// try to add to github...!
// exec('/usr/local/bin/git add ' . $user_file . ' && /usr/local/bin/git commit -m"created ' . $user_file . '" && /usr/local/bin/git push', $out, $r);
// user_error('create new user. out: ' . $out . ', r: ' . $r);
} catch (Exception $e) {
echo $e->getMessage() . "\n\n";
}
exit;
}
/**
* Load up the user.json file and read properties in
**/
if ($cname && file_exists($user_file)) {
$user = json_decode(file_get_contents($user_file));
$holder = $user->copyright;
$holder = htmlentities($user->copyright, ENT_COMPAT | ENT_HTML401, 'UTF-8');
if (property_exists($user, 'url')) {
$holder = '<a href="'.$user->url.'">' . $holder . '</a>';
$holder = '<a href="' . $user->url . '">' . $holder . '</a>';
}
if (property_exists($user, 'email')) {
$holder = $holder . ' &lt;<a href="mailto:' . $user->email . '">' . $user->email . '</a>&gt;';
}
if (property_exists($user, 'format')) {
@ -22,10 +60,22 @@
$format = 'txt';
}
}
if (property_exists($user, 'theme')) {
if (file_exists('themes/' . $user->theme . '.css')) {
$theme = $user->theme;
}
}
} else {
$holder = "&lt;copyright holders&gt;";
}
/**
* Now process the request url. Optional parts of the url are (in order):
* [sha]/[year|year-range]/license.[format]
* eg. http://rem.mit-license.org/a526bf7ad1/2009-2010/license.txt
**/
// grab sha from request uri
$request_uri = explode('/', $_SERVER["REQUEST_URI"]);
@ -41,6 +91,19 @@
$request = array_pop($request_uri);
}
// check if we have a year or a year range up front
$year = date('Y');
preg_match('/^(\d{4})(?:(?:\-)(\d{4}))?$/', $request, $match);
if (count($match) > 1) {
if ($match[2]) {
$year = $match[2];
}
if ($match[1]) {
$year = $match[1] . '-' . $year;
}
$request = array_pop($request_uri);
}
// check if there's a SHA on the url and read this to switch license versions
$sha = '';
if ($request != "" && $request != "/" && $request != "/index.php") {
@ -66,17 +129,17 @@
}
// replace info tag and display
$info = date('Y') . ' ' . $holder;
$info = $year . ' ' . $holder;
$license = str_replace('{{info}}', $info, $license);
$license = str_replace('{{theme}}', $theme, $license);
// if we want text format, strip out the license from the article tag
// and then strip any other tags in the license.
if ($format == 'txt') {
$license = array_shift(explode('</article>', array_pop(explode('<article>', $license))));
$license = preg_replace('/<[^>]*>/', '', trim($license));
$license = html_entity_decode($license);
header('content-type: text/plain');
}
echo $license;
?>

11
themes/afterdark.css Normal file
View file

@ -0,0 +1,11 @@
body {margin:0; padding: 50px;background: #242f3a;font: 16px/28px "Garamond",serif; color: #94979e;}
article, footer { display:block; max-width:720px; margin:0 auto; }
article { padding:28px;}
footer { padding:0 28px; text-align:center; }
h1 { margin:0; font-size: 24px; line-height: 32px;color:#d7721a}
a, a:visited { color:#577446; padding:4px; text-decoration:none; }
a:active, a:hover { color:#5dd912; }
a img { position: absolute; top: 0; right: 0; border: 0; }
:-moz-any-link:focus {background:#bc4a46;}
::selection {background:#bc4a46;}
::-moz-selection {background:#bc4a46;}

20
themes/default.css Normal file
View file

@ -0,0 +1,20 @@
@import url(http://fonts.googleapis.com/css?family=Inconsolata);
html { background: #eee; }
body { margin: 0; font-family: "Inconsolata", "DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; font-size: 1.2em; line-height: 1.2em; }
article, footer { display: block; min-width: 360px; max-width: 900px; width: 80%; }
article { margin: 2.5em auto 0 auto; border: 1px solid ; border-color: #ddd #aaa #aaa #ddd; padding: 2em; background: #fff; }
h1 { margin-top: 0; }
article p:first-of-type { margin-top: 1.6em; }
article p:last-child { margin-bottom: 0; }
footer { margin: 0em auto 2em auto; text-align: center; }
footer a { color: #666; text-shadow: 0 1px 1px #fff; text-decoration:none; font-size:.8em; }
/*footer a:before{content: "⏦"; font-size:1.5em; padding-right:.2em; } */
footer a:hover, footer a:focus { color: #444; }
h1 {font-weight:normal; display:inline; border-bottom:1px solid black; padding:0 0 3px 0; line-height: 36px; }
a { color:#2844FA; text-decoration:none;}
a:hover, a:focus { color:#1B29A4; }
a:active { color:#000; }
:-moz-any-link:focus {color:#000; border:0;}
::selection {background:#ccc;}
::-moz-selection {background:#ccc;}

12
themes/flesch.css Normal file
View file

@ -0,0 +1,12 @@
body {
margin:0; padding: 50px;
background: #fff url(/themes/flesch.png);
font: 16px/28px "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif; color: #252519;
}
article, footer { display:block; max-width:720px; margin:0; }
article { padding:28px; background:#fff; border:1px solid #ccc; }
footer { padding:0 28px; text-align:center; }
h1 { margin:0; font-size: 24px; line-height: 32px;}
a, a:visited { color:#105cb6; padding:4px; text-decoration:none; }
a:active, a:hover { color:#003; }
a img { position: absolute; top: 0; right: 0; border: 0; }

BIN
themes/flesch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

12
themes/orange.css Normal file
View file

@ -0,0 +1,12 @@
@import url(http://fonts.googleapis.com/css?family=PT+Sans|PT+Sans+Caption:700);
html,body{background:#663300;font:13pt "PT Sans",sans-serif;text-align:center}
a:link,a:visited{color:#234234;text-decoration:none}
a:hover,a:active{color:#432321;text-decoration:underline}
article{background:#CC9900;text-align:left;width:85%;margin:80px auto;border-radius:10px;-moz-border-radius:10px}
article h1{background:#CC6600;text-align:center;border-bottom:1px solid #7A7A00;font:bold 35pt "PT Sans Caption","PT Sans",sans-serif;margin:0;padding:5px;border-radius:10px;-moz-border-radius:10px}
article p{margin:0;padding:10px 15px}
footer{position:fixed;bottom:0;left:0;width:100%;border-top:1px solid #7A7A00;background:#333300;user-select:none;-moz-user-select:none;-webkit-user-select:none}
footer p,footer a{display:block;margin:0;text-shadow:0 0 10px #ccc}
footer a:link,footer a:visited{color:#aaa}
footer a:hover,footer a:active{color:#eee}
::selection,::-moz-selection{background:#663300}

5
users/adam.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Ad@m",
"url": "http://adamscode.sourceforge.net",
"theme": "orange"
}

View file

@ -1,4 +1,5 @@
{
"copyright": "Batuhan Icoz, http://batu.me/1",
"url": "http://batu.me/1"
"url": "http://batu.me/1",
"email": "i@batu.me"
}

4
users/bmaeser.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Bernhard Mäser, http://bmaeser.io",
"url": "http://bmaeser.io"
}

4
users/dan.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Daniel Knell, http://danielknell.co.uk",
"url": "http://danielknell.co.uk"
}

4
users/eddiemonge.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Eddie Monge Jr., http://eddiemonge.com",
"url": "http://eddiemonge.com"
}

View file

@ -1,4 +1,5 @@
{
"copyright": "John Flesch, http://fles.ch",
"url": "http://fles.ch"
"url": "http://fles.ch",
"theme": "flesch"
}

1
users/fr.json Normal file
View file

@ -0,0 +1 @@
{"copyright":"Fran\u00e7ois Romain"}

5
users/frozzare.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Fredrik Forsmo, http://forsmo.me",
"url": "http://forsmo.me",
"theme": "flesch"
}

1
users/gavin.json Normal file
View file

@ -0,0 +1 @@
{"copyright":"Gavin Huang"}

4
users/jaequery.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Jae Lee, http://jaequery.com",
"url": "http://jaequery.com"
}

4
users/johnmdonahue.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "John Donahue, http://johnmdonahue.com",
"url": "http://johnmdonahue.com"
}

5
users/josh.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Josh Perez, http://www.goatslacker.com",
"url": "http://www.goatslacker.com",
"theme": "flesch"
}

4
users/justin.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Justin Sisley",
"url": "http://justinsisley.com"
}

4
users/keithamus.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Keith Cirkel, http://keithcirkel.co.uk",
"url": "http://keithcirkel.co.uk"
}

4
users/keithcirkel.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Keith Cirkel, http://keithcirkel.co.uk",
"url": "http://keithcirkel.co.uk"
}

4
users/lindsayevans.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Lindsay Evans <http://linz.id.au/>",
"url": "http://linz.id.au/"
}

4
users/marc.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Marc Smith, http://marcsm.it/",
"url": "http://marcsm.it/"
}

4
users/matt.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Matthew Vaccaro",
"url": "http://matthewvaccaro.com"
}

5
users/mheap.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Michael Heap, http://michaelheap.com",
"url": "http://michaelheap.com",
"theme": "default"
}

4
users/mikl.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Daniel Knell, http://danielknell.co.uk",
"url": "http://danielknell.co.uk"
}

5
users/mostly-magic.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Mitchell Cowie, http://mostlymagic.ca",
"url": "http://mostlymagic.ca",
"theme": "afterdark"
}

5
users/nanotaboada.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Nano Taboada, http://nanotaboada.com.ar",
"url": "http://nanotaboada.com.ar",
"theme": "flesch"
}

5
users/ndw.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Norman Walsh, http://nwalsh.com/",
"url": "http://nwalsh.com/",
"theme": "flesch"
}

4
users/paulcuth.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Paul Cuthbertson, http://paulcuth.me.uk",
"url": "http://paulcuth.me.uk"
}

4
users/philippbosch.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Philipp Bosch, http://pb.io/",
"url": "http://pb.io/"
}

4
users/pmuellr.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Patrick Mueller, http://muellerware.org",
"url": "http://muellerware.org"
}

View file

@ -1,4 +1,4 @@
{
"copyright": "Raphaël Bastide, http://raphaelbastide.com",
"url": "http://raphaelbastide.com"
"copyright": "Raphaël Bastide, http://raphaelbastide.com",
"url": "http://raphaelbastide.com"
}

View file

@ -1,4 +1,5 @@
{
"copyright": "Remy Sharp, http://remysharp.com",
"url": "http://remysharp.com"
"url": "http://remysharp.com",
"theme": "flesch"
}

1
users/rko.json Normal file
View file

@ -0,0 +1 @@
{"copyright":"Remo Koch"}

5
users/rmartin.json Normal file
View file

@ -0,0 +1,5 @@
{
"copyright": "Remy Martin, http://rmartin.co",
"url": "http://rmartin.co",
"theme": "afterdark"
}

1
users/romac.json Normal file
View file

@ -0,0 +1 @@
{"copyright":"Romain Ruetschi","url":"http:\/\/romac.me","email":"romain.ruetschi@gmail.com"}

1
users/sguidetti.json Normal file
View file

@ -0,0 +1 @@
{"copyright":"Steve Guidetti","url":"http:\/\/www.ultramegatech.com"}

4
users/shaun.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Shaun Hare, http://shaunhare.co.uk",
"url": "http://shaunhare.co.uk"
}

3
users/simon.json Normal file
View file

@ -0,0 +1,3 @@
{
"copyright": "Simon MacDonald, http://simonmacdonald.com"
}

4
users/vsr.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Vinay Raikar, http://vinayraikar.com",
"url": "http://vinayraikar.com"
}

4
users/wesbos.json Normal file
View file

@ -0,0 +1,4 @@
{
"copyright": "Wes Bos, http://wesbos.com",
"url": "http://wesbos.com"
}

1
users/yrosen.json Normal file
View file

@ -0,0 +1 @@
{"copyright":"Yudi Rosen, http:\/\/yudirosen.com","url":"http:\/\/yudirosen.com"}