diff --git a/.gitignore b/.gitignore index 6facd09..fab0ca7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -prepros-6.config \ No newline at end of file +prepros-6.config +site.webmanifest \ No newline at end of file diff --git a/README.html b/README.html index eb19b9a..7f40297 100644 --- a/README.html +++ b/README.html @@ -5,14 +5,13 @@

Gummigram

+

An HTML, CSS, JS (jQuery) based recreation of the Kingdom Hearts 3 Loading Screen. With it, you can create your own posts as your favorite Kingdom Hearts characters, add comments and create fictional dialogue between the characters on this silly social page.

TODO

- -

Suggestions?

+

Suggestions? +Gummigram Discord +Heart Container Heroes Discord

\ No newline at end of file diff --git a/README.md b/README.md index a26b187..e9ed513 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,14 @@ # Gummigram +![](/images/gummigram.jpg) + An HTML, CSS, JS (jQuery) based recreation of the Kingdom Hearts 3 Loading Screen. With it, you can create your own posts as your favorite Kingdom Hearts characters, add comments and create fictional dialogue between the characters on this silly social page. ## TODO -* Add Post Editing -* Add Character Choice on Comment Creation -Suggestions? \ No newline at end of file + +Suggestions? +[Gummigram Discord](https://discord.gg/fbChRKn) +[Heart Container Heroes Discord](https://discord.gg/teSEFWZ) \ No newline at end of file diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 0000000..040bbc3 Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-256x256.png b/android-chrome-256x256.png new file mode 100644 index 0000000..a26aff7 Binary files /dev/null and b/android-chrome-256x256.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 0000000..57424fd Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/browserconfig.xml b/browserconfig.xml new file mode 100644 index 0000000..f9c2e67 --- /dev/null +++ b/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2b5797 + + + diff --git a/css/hearts.css b/css/hearts.css index 8d1570a..77780d9 100644 --- a/css/hearts.css +++ b/css/hearts.css @@ -174,6 +174,15 @@ body { color: #000; font-size: 1.2em; vertical-align: middle; } + .feed-item .item-caption .item-caption-input { + font-family: 'Coda'; + width: 100%; + resize: none; + font-size: 1em; + border: 1px solid #000; + background: #fff; + color: #000; + padding: 5px; } .feed-item .item-comments { background: #fff; width: 100%; @@ -188,6 +197,10 @@ body { padding-bottom: 10px; width: 100%; margin: auto; } + .feed-item .comment-input-fields { + display: -webkit-box; + display: -ms-flexbox; + display: flex; } .feed-item .comment-input-field { width: 100%; font-size: 1em; @@ -236,6 +249,14 @@ body { max-width: 100%; height: auto; vertical-align: bottom; } + .comment-list .comment-item .comment-tools { + opacity: 0; + cursor: default; + -webkit-transition: opacity .200s ease; + -o-transition: opacity .200s ease; + transition: opacity .200s ease; } + .comment-list .comment-item:hover .comment-tools { + opacity: 1; } .comment-list .comment-message { width: 100%; } @@ -321,7 +342,8 @@ body { padding: 25px 10px 10px; background: #fff; color: #d4af37; - font-size: 1.4em; } + font-size: 1.4em; + text-align: center; } .modal .modal-card .modal-body { padding: 10px; } .modal .modal-close { @@ -477,3 +499,56 @@ body { background: url("/images/hearttag.png") no-repeat; background-size: 20px; vertical-align: middle; } + +/* Mini char selector for comments */ +.mini-char-selector { + background: #fff; + width: 50px; + height: 50px; + padding: 1px; + position: relative; } + .mini-char-selector .selected-char { + border: 1px solid #d4af37; + border-radius: 50%; + overflow: hidden; + background: #333; } + .mini-char-selector img { + max-width: 100%; + height: auto; + vertical-align: bottom; } + .mini-char-selector .selected-char-options { + margin-top: 5px; + position: absolute; + bottom: 100%; + left: 0; + max-height: 0; + background: #fff; + overflow: hidden; + z-index: 40; } + .mini-char-selector .selected-char-options.active { + border: 1px solid #000; + max-height: 500px; + overflow-y: auto; } + .mini-char-selector .selected-char-options::-webkit-scrollbar { + width: 1px; } + .mini-char-selector .selected-char-option { + padding: 5px; } + .mini-char-selector .selected-char-option:hover { + background: #d4af37; } + .mini-char-selector .selected-char-option .char-option-image { + border: 1px solid #d4af37; + border-radius: 50%; + overflow: hidden; + background: #333; } + .mini-char-selector .selected-char-option.active { + background: #c7a22b; } + +/* Info */ +.info { + text-align: center; } + .info p { + margin: 10px 0; } + .info a { + color: #1E2274; } + .info .social { + padding: 10px 0; } diff --git a/css/hearts.scss b/css/hearts.scss index 34930a7..37ddf9b 100644 --- a/css/hearts.scss +++ b/css/hearts.scss @@ -209,6 +209,19 @@ $hashColor: #1E2274; font-size: 1.2em; vertical-align: middle; + + + .item-caption-input { + font-family: 'Coda'; + width: 100%; + resize: none; + font-size: 1em; + border: 1px solid #000; + background: #fff; + color: #000; + padding: 5px; + } + } .item-comments { @@ -230,6 +243,10 @@ $hashColor: #1E2274; margin: auto; } } + + .comment-input-fields { + display: flex; + } .comment-input-field { width: 100%; @@ -251,6 +268,7 @@ $hashColor: #1E2274; .comment-list { .comment-item { + position: relative; z-index: 5; &:not(:first-child) { @@ -288,6 +306,19 @@ $hashColor: #1E2274; vertical-align: bottom; } } + + .comment-tools { + opacity: 0; + cursor: default; + + transition: opacity .200s ease; + } + + &:hover { + .comment-tools { + opacity: 1; + } + } } @@ -382,6 +413,7 @@ $hashColor: #1E2274; background: #fff; color: #d4af37; font-size: 1.4em; + text-align: center; } .modal-body { @@ -589,4 +621,90 @@ $hashColor: #1E2274; background-size: 20px; vertical-align: middle; } + } + + /* Mini char selector for comments */ + + .mini-char-selector { + + background: #fff; + width: 50px; + height: 50px; + padding: 1px; + position: relative; + + + + .selected-char { + border: 1px solid #d4af37; + border-radius: 50%; + overflow: hidden; + background: #333; + + } + + img { + max-width: 100%; + height: auto; + vertical-align: bottom; + } + + .selected-char-options { + margin-top: 5px; + position: absolute; + bottom: 100%; + left: 0; + max-height: 0; + background: #fff; + overflow: hidden; + z-index: 40; + + &.active { + border: 1px solid #000; + max-height: 500px; + overflow-y: auto; + } + + &::-webkit-scrollbar { + width: 1px; + } + } + + .selected-char-option { + padding: 5px; + + &:hover { + background: #d4af37; + } + + .char-option-image { + border: 1px solid #d4af37; + border-radius: 50%; + overflow: hidden; + background: #333; + } + + &.active { + background: darken(#d4af37, 5%); + } + } + } + + /* Info */ + + + .info { + text-align: center; + + p { + margin: 10px 0; + } + + a { + color: #1E2274; + } + + .social { + padding: 10px 0; + } } \ No newline at end of file diff --git a/favicon-16x16.png b/favicon-16x16.png new file mode 100644 index 0000000..2248bde Binary files /dev/null and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png new file mode 100644 index 0000000..e0a7d4f Binary files /dev/null and b/favicon-32x32.png differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..72fca91 Binary files /dev/null and b/favicon.ico differ diff --git a/images/characters/aqua-avatar.png b/images/characters/aqua-avatar.png new file mode 100644 index 0000000..1da8a68 Binary files /dev/null and b/images/characters/aqua-avatar.png differ diff --git a/images/characters/kairi-avatar.png b/images/characters/kairi-avatar.png new file mode 100644 index 0000000..5febe65 Binary files /dev/null and b/images/characters/kairi-avatar.png differ diff --git a/images/characters/kh-axel.png b/images/characters/kh-axel.png new file mode 100644 index 0000000..d577620 Binary files /dev/null and b/images/characters/kh-axel.png differ diff --git a/images/characters/kh-demyx.png b/images/characters/kh-demyx.png new file mode 100644 index 0000000..f876e07 Binary files /dev/null and b/images/characters/kh-demyx.png differ diff --git a/images/characters/kh-larxene.png b/images/characters/kh-larxene.png new file mode 100644 index 0000000..6b35294 Binary files /dev/null and b/images/characters/kh-larxene.png differ diff --git a/images/characters/kh-lexaus.png b/images/characters/kh-lexaus.png new file mode 100644 index 0000000..3b2fb97 Binary files /dev/null and b/images/characters/kh-lexaus.png differ diff --git a/images/characters/kh-luxord.png b/images/characters/kh-luxord.png new file mode 100644 index 0000000..4301125 Binary files /dev/null and b/images/characters/kh-luxord.png differ diff --git a/images/characters/kh-marluxia.png b/images/characters/kh-marluxia.png new file mode 100644 index 0000000..4e8ec24 Binary files /dev/null and b/images/characters/kh-marluxia.png differ diff --git a/images/characters/kh-saix.png b/images/characters/kh-saix.png new file mode 100644 index 0000000..3495f60 Binary files /dev/null and b/images/characters/kh-saix.png differ diff --git a/images/characters/kh-ventus.png b/images/characters/kh-ventus.png new file mode 100644 index 0000000..2c58861 Binary files /dev/null and b/images/characters/kh-ventus.png differ diff --git a/images/characters/kh-vexen.png b/images/characters/kh-vexen.png new file mode 100644 index 0000000..78ad080 Binary files /dev/null and b/images/characters/kh-vexen.png differ diff --git a/images/characters/kh-xaldin.png b/images/characters/kh-xaldin.png new file mode 100644 index 0000000..fd1b37b Binary files /dev/null and b/images/characters/kh-xaldin.png differ diff --git a/images/characters/kh-xemnas.png b/images/characters/kh-xemnas.png new file mode 100644 index 0000000..b2c3a49 Binary files /dev/null and b/images/characters/kh-xemnas.png differ diff --git a/images/characters/kh-xigbar.png b/images/characters/kh-xigbar.png new file mode 100644 index 0000000..a8f6203 Binary files /dev/null and b/images/characters/kh-xigbar.png differ diff --git a/images/characters/kh-zexion.png b/images/characters/kh-zexion.png new file mode 100644 index 0000000..e50bc60 Binary files /dev/null and b/images/characters/kh-zexion.png differ diff --git a/images/characters/namine-avatar.png b/images/characters/namine-avatar.png new file mode 100644 index 0000000..583bc30 Binary files /dev/null and b/images/characters/namine-avatar.png differ diff --git a/images/characters/riku-avatar.png b/images/characters/riku-avatar.png new file mode 100644 index 0000000..c42fed7 Binary files /dev/null and b/images/characters/riku-avatar.png differ diff --git a/images/characters/roxas-avatar.png b/images/characters/roxas-avatar.png new file mode 100644 index 0000000..28b8bbf Binary files /dev/null and b/images/characters/roxas-avatar.png differ diff --git a/images/characters/sora-avatar.png b/images/characters/sora-avatar.png new file mode 100644 index 0000000..7fff514 Binary files /dev/null and b/images/characters/sora-avatar.png differ diff --git a/images/characters/terra-avatar.png b/images/characters/terra-avatar.png new file mode 100644 index 0000000..61d4ff4 Binary files /dev/null and b/images/characters/terra-avatar.png differ diff --git a/images/favicon.png b/images/favicon.png new file mode 100644 index 0000000..11e7188 Binary files /dev/null and b/images/favicon.png differ diff --git a/images/grummigram.jpg b/images/grummigram.jpg new file mode 100644 index 0000000..172ca26 Binary files /dev/null and b/images/grummigram.jpg differ diff --git a/index.html b/index.html index 7204c1b..33eba3b 100644 --- a/index.html +++ b/index.html @@ -8,6 +8,13 @@ + + + + + + + @@ -71,7 +78,9 @@ Change Account - + + Information + @@ -131,6 +140,39 @@ + + + diff --git a/js/kingdom.js b/js/kingdom.js index 176a7e9..26f6e45 100644 --- a/js/kingdom.js +++ b/js/kingdom.js @@ -1,10 +1,8 @@ /* It's a work in progress */ /* TODO: - - + Add Spot to show current user for posting; - + Add editing for posts - + Fix Editing for Comments + + + Choose Commentor in Comment Section */ @@ -13,102 +11,102 @@ var authors = [ { 'id': 1, 'name': 'Sora', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/sora-avatar.png' + 'profileImage': '/images/characters/sora-avatar.png' }, { 'id': 2, 'name': 'Kairi', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kairi-avatar.png' + 'profileImage': '/images/characters/kairi-avatar.png' }, { 'id': 3, 'name': 'Riku', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/riku-avatar.png' + 'profileImage': '/images/characters/riku-avatar.png' }, { 'id': 4, 'name': 'Aqua', - 'profileImage':'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/aqua-avatar.png' + 'profileImage':'/images/characters/aqua-avatar.png' }, { 'id': 5, 'name': 'Terra', - 'profileImage':'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/terra-avatar.png' + 'profileImage':'/images/characters/terra-avatar.png' }, { 'id': 6, 'name': 'Ventus', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-ventus.png' + 'profileImage': '/images/characters/kh-ventus.png' }, { 'id':7, 'name': 'Roxas', - 'profileImage':'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/roxas-avatar.png' + 'profileImage':'/images/characters/roxas-avatar.png' }, { 'id':8, 'name': 'Naminé', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/namine-avatar.png' + 'profileImage': '/images/characters/namine-avatar.png' }, { 'id': 9, 'name': 'Axel', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-axel.png', + 'profileImage': '/images/characters/kh-axel.png', }, { 'id': 10, 'name': 'Saïx', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-saix.png' + 'profileImage': '/images/characters/kh-saix.png' }, { 'id': 11, 'name': 'Zexion', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-zexion.png' + 'profileImage': '/images/characters/kh-zexion.png' }, { 'id': 12, 'name': 'Xigbar', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-xigbar.png' + 'profileImage': '/images/characters/kh-xigbar.png' }, { 'id': 13, 'name': 'Luxord', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-luxord.png', + 'profileImage': '/images/characters/kh-luxord.png', }, { 'id': 14, 'name': 'Xaldin', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-xaldin.png' + 'profileImage': '/images/characters/kh-xaldin.png' }, { 'id': 15, 'name': 'Vexen', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-vexen.png', + 'profileImage': '/images/characters/kh-vexen.png', }, { 'id': 16, 'name': 'Demyx', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-demyx.png' + 'profileImage': '/images/characters/kh-demyx.png' }, { 'id': 17, 'name': 'Marluxia', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-marluxia.png', + 'profileImage': '/images/characters/kh-marluxia.png', }, { 'id': 18, 'name': 'Larxene', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-larxene.png' + 'profileImage': '/images/characters/kh-larxene.png' }, { 'id': 19, 'name': 'Lexeaus', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-lexaus.png' + 'profileImage': '/images/characters/kh-lexaus.png' }, { 'id': 20, 'name': 'Xemnas', - 'profileImage': 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/26158/kh-xemnas.png' + 'profileImage': '/images/characters/kh-xemnas.png' } ]; @@ -159,10 +157,11 @@ $(document).on('submit', '.comment-input-form', function(e){ /* Set the message to the input */ var message = $(this).find('.comment-input-field').val(); + var poster = $(this).find('.mini-char-selector').data('char') ? authors[$(this).find('.mini-char-selector').data('char')].id : currentUser.id; /* Post the comment with function */ - makeNewComment(currentUser.id, $(this).parent().parent().data('post'), message); + makeNewComment(poster, $(this).parent().parent().data('post'), message); $(this).find('.comment-input-field').val(''); }); @@ -170,7 +169,7 @@ $(document).on('submit', '.comment-input-form', function(e){ $(document).on('keydown', '.comment-input-field', function(event){ if(event.keyCode === 13) { event.preventDefault(); - $(this).parent('.comment-input-form').trigger('submit'); + $(this).parent().trigger('submit'); } }); @@ -236,7 +235,7 @@ $(document).on('click', '.comment-item', function(){ var newMessage = $(this).val(); if(e.keyCode === 27) { that.removeClass('editing'); - message.text(message); + message.text(original); $(document).off('keydown', '.comment-input-field.edit'); } @@ -249,7 +248,7 @@ $(document).on('click', '.comment-item', function(){ } that.removeClass('editing'); //$('#' + id).find('.comment-message').html($(this).val()); - console.log(comment); + post.comments[comment].message = newMessage; buildPostList(); $(document).off('keydown', '.comment-input-field.edit'); @@ -324,33 +323,6 @@ $('#newPost').on('submit', function(e){ }); -/* -$('#postCaption').on('keyup', function(e){ - var that = $(this); - setTimeout(function(){ - var hashReg = /\W(\#[a-zA-Z]+\b)(?!;)/gm; - var str = that.val(); - - while ((m = hashReg.exec(str)) !== null) { - // This is necessary to avoid infinite loops with zero-width matches - if (m.index === hashReg.lastIndex) { - hashReg.lastIndex++; - } - - // The result can be accessed through the `m`-variable. - m.forEach((match, groupIndex) => { - console.log(match); - var hash = that.find(match); - - }); - } - }, 2000); - -}); - -*/ - - function makeNewPost(author, image, caption) { var user = author; var propCaption = caption.replace(/(<([^>]+)>)/ig,""); @@ -440,7 +412,7 @@ function buildPostList() { } postList += ` -
+
@@ -457,7 +429,7 @@ ${theAuthor.name}
-
Edit Post
+
Edit Post
Delete Post
@@ -476,6 +448,15 @@ ${post.caption}
+
+
+
+ +
+
+ +
+
@@ -488,20 +469,18 @@ ${post.caption} }); $('#activeFeed').html(postList); - makeHeartTag(); -} -$(document).ready(function(){ - buildPostList(); - listChars(); -}); + makeHeartTag(); + buildCommentorOpts(); +} function listChars() { var charListSpot = $('#characterList'); var selectChars = $('#charAccount'); var curUserList = ''; + var chars = authors; var selectList =''; - authors.forEach(function(author) { + chars.reverse().forEach(function(author) { curUserList += `
@@ -530,21 +509,29 @@ function swapChar(author) { $('#curChar').html(` `); + $('.selected-char').html(` + + `); } $('#curCharHold').on('click', swapChar(currentUser)); - +/** + * Character Switcher +*/ $(document).on('click', '.char-option', function(e){ e.preventDefault(); var that = $(this); + var user = authors.find(function(author){ if(that.data('char') == author.id) { return author; } }); + $('.char-option').removeClass('active'); + that.addClass('active'); currentUser = user; swapChar(currentUser); @@ -552,6 +539,10 @@ $(document).on('click', '.char-option', function(e){ }); +/** + * Post Controls + */ + $(document).on('click', '.item-controls', function(e){ e.stopPropagation(); if($(this).hasClass('active')) { @@ -561,6 +552,57 @@ $(document).on('click', '.item-controls', function(e){ } }); +/** + * Edit Post Caption + */ + +$(document).on('click', '.edit-post', function(e){ + e.stopPropagation(); + var that = $(this); + + var post = posts.findIndex(function(post){ + if(that.data('post') == post.id) { + return post; + } + }); + + var editPost = $('#post-' + posts[post].id).find('.item-caption'); + var curState = editPost.html(); + + editPost.html(` + + `); + + $(document).on('keydown', '.item-caption-input', function(e){ + + if(e.keyCode === 27) { + editPost.html(curState); + $(document).off('keydown', '.item-caption-input'); + } + + if(e.keyCode === 13) { + + posts[post].caption = editPost.find('.item-caption-input').val().trim(); + buildPostList(); + + $(document).off('keydown', '.item-caption-input'); + } + + + }); + + //posts[post].caption = 'Yo momma'; + + //buildPostList(); + +}); + + + +/** + * Post Deletion + */ + $(document).on('click', '.delete-post', function(e){ e.stopPropagation(); var that = $(this); @@ -585,22 +627,82 @@ $(document).on('click', '.delete-post', function(e){ }); -/* Close menus if clicked out of */ - -$(window).on('click', function(e){ - $('.item-controls').removeClass('active'); -}); function makeHeartTag() { var hashtag = $('.item-caption').text().match(/\W(\#[a-zA-Z]+\b)(?!;)/gm); - hashtag.forEach(function(hash){ - - var index = $('.item-caption:contains(' + hash +')'); + + if(hashtag !== null) { + hashtag.forEach(function(hash){ + + var index = $('.item-caption:contains(' + hash +')'); + + //console.log(index.html().replace(hash, ' ' + hash.replace('#','').trim() + ' ')); + + index.html(index.html().replace(hash, ' ' + hash.replace('#','').trim() + ' ')); + + }); + } +} + + +function buildCommentorOpts() { + + var authorOutput = ''; + authors.reverse().forEach(function(author, index){ + authorOutput += ` +
+
+ +
+
+ `; + }); + + $('.selected-char').html(``); + $('.selected-char-options').html(authorOutput); - //console.log(index.html().replace(hash, ' ' + hash.replace('#','').trim() + ' ')); - index.html(index.html().replace(hash, ' ' + hash.replace('#','').trim() + ' ')); + $('.mini-char-selector').on('click', function(e){ + e.stopPropagation(); + + var opts = $(this).find('.selected-char-options'); + if(opts.hasClass('active')) { + opts.removeClass('active'); + } else { + opts.addClass('active'); + opts.animate({ + scrollTop: opts.height() + 'px' + }); + } + }); + + $('.selected-char-option').on('click', function(){ + $(this).parent().find('.selected-char-option').removeClass('active'); + $(this).addClass('active'); + $(this).parent().siblings('.selected-char').html(` + + `); + $(this).parent().parent().attr('data-char', $(this).data('char')); + }); -} \ No newline at end of file +} + + + + +/* Close menus if clicked out of */ + +$(window).on('click', function(e){ + $('.item-controls').removeClass('active'); + $('.selected-char-options').removeClass('active'); +}); + + +/* Build on Ready */ + +$(document).ready(function(){ + buildPostList(); + listChars(); +}); \ No newline at end of file diff --git a/mstile-150x150.png b/mstile-150x150.png new file mode 100644 index 0000000..f90f5a4 Binary files /dev/null and b/mstile-150x150.png differ diff --git a/safari-pinned-tab.svg b/safari-pinned-tab.svg new file mode 100644 index 0000000..4137ddc --- /dev/null +++ b/safari-pinned-tab.svg @@ -0,0 +1,15 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + +