GithubHelp home page GithubHelp logo

automattic / jetpack Goto Github PK

View Code? Open in Web Editor NEW
1.6K 1.6K 790.0 487.55 MB

Security, performance, marketing, and design tools — Jetpack is made by WordPress experts to make WP sites safer and faster, and help you grow your traffic.

Home Page: https://jetpack.com/

License: Other

JavaScript 22.81% PHP 61.49% CSS 2.28% Smarty 0.01% HTML 1.13% Shell 0.59% Dockerfile 0.01% SCSS 6.22% Mustache 0.01% Svelte 0.12% TypeScript 5.28% MDX 0.06% Roff 0.01% Logos 0.01%
hacktoberfest js php plugin react wordpress wordpress-plugin

jetpack's Introduction

Jetpack Monorepo

License

This is the Jetpack Monorepo. It contains source code for the different Jetpack plugins, Composer and JavaScript packages used by the plugins, and other things.

How to install Jetpack plugin on your site

If you are not planning on developing with Jetpack, you should install Jetpack from pre-built sources. Details on that may be found on this page.

Developing from the Monorepo

If you're interested in developing with the Jetpack monorepo, you can check out the Quick Start Guide here.

Installation From Git Monorepo

To run the Jetpack plugin from the monorepo, you'll first need to build it. To do so, follow the instructions here.

If you're using the Docker development environment, you should then be all set.

If not, you'll need to create a link to the Jetpack plugin from your WordPress wp-content/plugins folder (you cannot clone the monorepo into your WordPress plugins directory - you will see a warning on your plugins page if so saying that the Jetpack Monorepo is not a plugin and shouldn't be installed as one). You'll need to know the filesystem path to the monorepo checkout and to your WordPress installation. Then, on Linux or Mac OS X, open a terminal and use ln -s to create the link, something like

ln -s /path/to/jetpack-monorepo/projects/plugins/jetpack /path/to/wordpress/wp-content/plugins/jetpack

On Windows (Vista and later), open an Administrator Command Prompt window and use mklink /D similarly.

Contribute

Thank you for thinking about contributing to Jetpack! If you're unsure of anything, feel free to submit an issue or pull request on any topic. The worst that can happen is that you'll be politely directed to the best location to ask your question or to change something in your pull request. There are a variety of options for how you can help:

To clarify these expectations, Jetpack has adopted the code of conduct defined by the Contributor Covenant. It can be read in full here.

Security

Need to report a security vulnerability? Go to https://automattic.com/security/ or directly to our security bug bounty site https://hackerone.com/automattic.

License

Jetpack is licensed under GNU General Public License v2 (or later).

Join us!

Interested in working on awesome open-source code all day? Join us!

jetpack's People

Contributors

anomiex avatar brbrr avatar cfinke avatar dereksmart avatar dhasilva avatar donnchawp avatar ebinnion avatar eliorivero avatar enejb avatar georgestephanis avatar gravityrail avatar jeffgolenski avatar jeherve avatar justinshreve avatar kraftbj avatar leogermani avatar lezama avatar matticbot avatar mdawaffe avatar michaelarestad avatar oskosk avatar renovate[bot] avatar retrofox avatar roccotripaldi avatar samhotchkiss avatar samiff avatar sdixon194 avatar thingalon avatar timmy5685 avatar zinigor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jetpack's Issues

CSS: Navigation menu is not sticky when in the Jetpack menu

Steps to reproduce:

  1. Enable Jetpack on your site
  2. On any page of your dashboard, scroll down: the navigation menu sticks and remains visible as you scroll
  3. Open the Jetpack menu, and scroll down: the navigation menu is not sticky anymore.
  4. We added this rule in c6ef1af, to color the arrow in green in order to match the cloud background in the Jetpack menu. Obviously, this is far from ideal as it breaks the consistency with the rest of the dashboard. We should make sure that Jetpack doesn't break the general rules added by WP.

Reported here:

Original trac ticket:

Publicize: Support custom post types

I'd really, really love to see custom post types (at least public ones) fully supported by by the Publicize module.

Are there any blocking reasons to not support custom post types?

Widget Visibility: choosing the "Page Name" rather than Posts page

Steps to reproduce:

  1. In Settings -> Reading, select a Static front page and choose another page as your Posts page (we'll call that page "blog" for this example, ​http://example.com/blog/ )
  2. In the Widget Visibility for a random widget, select Show if Page is "blog" (from the list of Static pages)

Expected: The widget should show on ​http://example.com/blog/
Actual: The widget doesn't show, but DOES show if you select "Show if Page is Posts page" from the dropdowns

Top Pages & Posts don't show thumbnails anymore

Downloaded development version to 'fix' twenty fourteen theme grid issue, and discovered that now the thumbnails in the Top Pages & Posts widget don't show anymore, unless there is an explicit feature image. Before the install of the dev- version (1/2/2014), images place inside the post body would show up as well.
Demo: http://news.naples.net

Caveat:
This is my first issue ever posted on github, so I am ok if you tell me, what I did that wrong

Include Author widget

Look into rolling in the Author widget from https://core.trac.wordpress.org/ticket/24856 into Jetpack if it doesn't look like it'll make 3.9 for core.

If we do, 1) Make sure we include an ifcheck so that if/when a version rolls into core, ours will fizzle, and 2) Update the wpcom version so we can maintain the file sync.

Slideshows: If gallery has single image, slideshow is not displayed

If you create a slideshow with a single image, the image appears but without the regular slideshow chrome, so it looks small and abandonded

image

If you change the gallery type to Squares or Circles, the resulting single image gallery shows up much larger and styled and looks better, than a single image slideshow.

Infinite scroll GET request URLs are too long

The GET requests that the infinite scroll module makes are way too long. I have seen cases where the URL itself can be over 2 kilobytes!

This can cause issues. Some servers have URL length limits. I can verify that this issue has caused problems at WP Engine hosted sites due to their caching layer not liking URLs past a certain length.

One option is to do a POST request instead of a GET. Or, an effort could be made to reduce the size of the URL dramatically.

SVG files in Photon

Wondering if there is any consideration to including SVG files as part of the Photon service on Jetpack. As a result of Retina displays, I am now finding that more designers are using SVGs as a means to ensure quality vectors across devices. In my own case, I have also used it to create mosaics at the pixel level for background textures which result in rather large SVG files. Although I realize that Photon only serves up content for posts and featured images, I can see more complex SVG files with large sizes becoming more prominent in post content as well.

Just a thought.

Comments: JS errors when "Show Avatars" option is disabled

Environment:
Settings->Discussion>Show Avatars is unchecked. Jetpack Comments enabled.

Steps to Repo:

  1. Write a comment.
  2. Click on one of the social network icons to sign in (tested with Facebook).
  3. Cancel login to third-party service.

Expected:
Return to normal comment box, offering name, e-mail, URL.

Results:
The comments box "flickers" as the browser attempts to render the form. The JS console reports an error:
"Uncaught ReferenceError: Gravatar is not defined ??/wp-content/js/jquery/jquery.autoresize.js,/wp-content/mu-plugins/highlander-comments/script.js?m…:614 jQuery.extend.updateAvatarWithGravatar ??/wp-content/js/jquery/jquery.autoresize.js,/wp-content/mu-plugins/highlander-comments/script.js?m…:614 jQuery.extend.clickGuestTab ??/wp-content/js/jquery/jquery.autoresize.js,/wp-content/mu-plugins/highlander-comments/script.js?m…:599 jQuery.extend.switchAccount ??/wp-content/js/jquery/jquery.autoresize.js,/wp-content/mu-plugins/highlander-comments/script.js?m…:548 jQuery.extend.doExternalCanceled ??/wp-content/js/jquery/jquery.autoresize.js,/wp-content/mu-plugins/highlander-comments/script.js?m…:792 jQuery.extend.pollExternalWindow ??/wp-content/js/jquery/jquery.autoresize.js,/wp-content/mu-plugins/highlander-comments/script.js?m…:638

Contact form: cannot insert a form using do_shortcode

Steps to reproduce:

  1. Edit one of your theme's template files and add a Contact form with the do_shortcode function:
<?php echo do_shortcode( "[contact-form][contact-field label='Name' type='name' required='1'/][contact-field label='Email' type='email' required='1'/][contact-field label='Website' type='url'/][contact-field label='Comment' type='textarea' required='1'/][/contact-form] " ); ?>
  1. Load a page using this template file: the contact form is displayed.
  2. Fill in the form, and submit it
  3. The form is not submitted properly.

Reported in this trac ticket:
https://plugins.trac.wordpress.org/ticket/1762

Sharing / Likes: conflict with the Basic Google Maps Placemarks plugin

Plugin:
http://wordpress.org/plugins/basic-google-maps-placemarks/

This plugin allows you to insert content from another post type (Placemarks) into an existing post or page, thanks to a shortcode.

However, it seems to create problems with Jetpack Sharing buttons.
Steps to reproduce:

  1. Enable the Jetpack plugin, and insert sharing buttons at the bottom of your posts
  2. Enable the Basic Google Maps Placemarks plugin
  3. In Placemarks > Add new, create a new map
  4. In Posts > All Posts, add that map into an existing post by adding [bgmp-map] to the post
  5. View post
  6. The sharing buttons (and Like buttons) have disappeared

cc @iandunn

Original trac ticket:

Force user to be connected to WP.com before they can disable the default login form

Before a user can disable the default login form under settings -> general, their user should first be connected to WP.com. If they are not already connected, we should link them to the "Your profile" page with some copy like:

You must first connect your user to WordPress.com prior to disabling your default login form.

With "connect your user to WordPress.com" as the link.

Add module for author pages/user profile

A module that adds some 'oomph' to the author pages would be nice, allow tinymc in the description editor in the user profile, a jquery add remove of entities for social media type boxes (website links), google authorship implementation http://searchengineland.com/the-definitive-guide-to-google-authorship-markup-123218 and an easy way for theme authors to implement it into their author.php page
maybe with vcard information available from their profile which pops up on their name link, and/or their thumbnail (cross implementation with that other module.

Method of Accessing a VideoPress Thumbnail URL in functions.php?

I'd like to be able to pass a guid for a VideoPress video (ie, the unique code that is used in the VideoPress Shortcode) to a function in my functions.php file and have it retrieve the URL for that VideoPress Thumbnail (ie, poster_frame_uri). I've tried doing the following (inside my function), but so far no success:

require_once( $rest_of_path . 'wp-content/plugins/jetpack/modules/videopress/class.videopress-video.php' );
$video = new VideoPress_Video( $guid );
$thumbnail = esc_url( $video->poster_frame_uri );
return $thumbnail;

There's a few other variables I'll probably want to be able to access too eventually (such as $title and $duration), but that should be easy once I get the above sorted.

It seems like what I'm trying to do should be possible. I'm just not sure what I'm missing at the moment.

Any help is greatly appreciated! :)

Thanks!
Sean

Feature request: Infinite Scroll - Place entire posts on single scrollable page

I would like to know whether it is possible to implement the infinite scroll feature in jetpack so that it displays entire pages in one continuous scrollable page, as in www.qz.com.

So, The idea would be to load an entire new page as you scroll from one post to another (placing tcomments and the comment box in an expandable div). And this should be implementable at Category, Tag and (somehow) Page level.

Best regards

Stats: Custom Post Types with 'exclude_from_search' set to true do not show titles

Post type definition:

register_post_type( 'plugin_event',
        array(
            'labels' => array(
                'name' => __( 'Events' ),
                'singular_name' => __( 'Event' )
            ),
        'public' => true,
        'has_archive' => true,
        'rewrite' => array('slug' => 'events'),
        'supports' => array('title', 'editor', 'custom-fields'),
        'exclude_from_search' => true,
        'show_in_admin_bar' => false,
        )
    );
}

When I view my Jetpack Stats page on my blog, any visits to a post of this type will show up with a title of "#xxxx (loading title)".
I have verified that if I change exclude_from_search to false, then the title does show up.

This might be because of a bug upstream in WordPress, though.

Adding Schema.org Markup to VideoPress Output

Greetings!

I think it would be a great addition to add http://schema.org/VideoObject markup to the VideoPress output so that the content is better indexed by Google, et al. I would be happy to do a Pull Request as I believe I should be able to do the bulk of the coding myself (with a few notable exceptions). But I wanted post first to provide opportunity for feedback in case there are important things I should take into consideration. At the moment I have some free time this week so I'd love to go ahead and knock out what I can soon. :)

Below is an example of my proposed changes. This example is for the html5_dynamic player, but the same ideas should extend to the other forms of output as well (ie, html5_dynamic, flash_object). For clarity I'm omitting unimportant details and elements.

<div id="v-GUID-1" class="video-player" itemprop="video" itemscope itemtype="http://schema.org/VideoObject">

<div id="v-GUID-1-placeholder" class="videopress-placeholder" style="...">
<div class="videopress-title" style="..." dir="ltr" lang="en"><span itemprop="name" style="...">This is My Video File</span></div>

<img itemprop="thumbnail" class="videopress-poster" alt="This is My Video File" title="Watch: This is My Video File Title" src="..._scruberthumbnail_1.jpg">

<div class="play-button">...</div>
<div style="...">...videopress.png...</div>
<script type="text/javascript">...</script>

<noscript><p>JavaScript required to play <a itemprop="contentUrl" hreflang="en" type="video/mp4" href="http://videos.videopress.com/GUID/testfile_dvd.mp4">This is My Video File</a>.
 Video Description: <span itemprop="description">This is the description for this video!!.</span> 
</p></noscript>
<!-- Or perhaps put Description here? -->
<div class="video-description">
<span itemprop="description">This is the description for this video!!.</span>
</div>

<div class="video-transcript" itemprop="transcript">
<h5>Video Transcript</h5>
<p>Lorem ipsum dolor sit amet, <b>cyrenensi</b> reversus ait in lucem. Autem 
est cum unde ascendit. Quantum est in fuerat est Apollonius ut libertatem 
petitiones tulit animo suscipiens secrete fugio naves. Mea ego illum decidat quam 
dolore obiectum invidunt kasd obiectum ait est cum. Opto cum suam ad nomine 
Maria cum obiectum invidunt kasd habeo in lucem concitaverunt in deinde vero 
diam nostra praedicabilium subsannio.</p>
</div>

<meta itemprop="duration" content="T1M33S" />
<meta itemprop="uploadDate" content="2011-07-05T08:00:00+08:00" />
<meta itemprop="expires" content="2012-01-30T19:00:00+08:00" />

</div>

For the above I'm using Schema.org and https://support.google.com/webmasters/answer/2413309?hl=en as references (but in places where Google differs from Schema, such as thumbnailURL vs thumbnail I've gone with Schema). Per my testing with http://www.google.com/webmasters/tools/richsnippets the above code is correctly recognized (with real code in the place of "..." of course).

Most of the above is pretty straightforward. However there are several items that do require further discussion:

  1. <meta itemprop="uploadDate" content="2011-07-05T08:00:00+08:00" />: This is not currently available via https://github.com/Automattic/jetpack/blob/master/modules/videopress/class.videopress-video.php. My proposal is that we use the Attachment Upload Date which is stored in WordPress. The problem though is that this is of course stored in the associated WordPress.com account, and so not readily available for accessing. uploadDate is Recommended by Google, but not Required. However, there are some other items for which we have the same quandary (ie, how do we get access to the WP.com data).

2a) <span itemprop="description">: My proposal is that we use the Media Caption attribute to store this data. Though this is a little linguistically confusing in the context of it being a video file (ie, using the Caption field to store Description data) it is consistent with things WordPress is already doing (eg, if you look at the Attachment page for a video on WordPress.com the og:description tag uses the Caption for its data). I also think this makes sense in that a Caption is usually short and without formatting (thus the absence of formatting options for the Captions field in the WP interface), and that seems consistent to me with the idea of the video Description.

2b) description is a Required field for Google, but we currently don't have any way (that I know of) for accessing the Caption field data for a given video. We do currently have access to the $post_id (https://github.com/Automattic/jetpack/blob/master/modules/videopress/class.videopress-video.php#L42), but we would need some further method of using that to access the Caption field for a given video. I have no idea how much or little might involved in that (ie, whether it might involve significant work outside of the Jetpack plugin), and this is obviously something that I would need someone's help with.

2c) description Placement: Any thoughts on placement of the description data? My first thought (which I've done above) was to put it in the <noscript> tag as then it is useful to those without JS. But since then I've thought that some users may wish to actually display the Description and putting it in the <noscript> tag is not conducive to that. So I do wonder if it might be better to put it outside (and perhaps directly after) the <noscript> tag and just give it a display:none by default. Then any VideoPress users that want to display it can just target it with CSS. I believe that Google will treat it the same either way in this case (I know that in some cases Google doesn't like display:none, but in this case given that the Schema data can also be presented in hidden <meta itemprop markup the use of display:none should be fine, and not considered "cloaking").

3a) transcript Mapped to WP Attachment Description Field: Similar to the above discussions, I propose that we use the Description field for the WordPress Attachment to store the transcript data. Though again a little linguistically confusing, I think it ultimately makes the most sense in that a transcript is likely to be much longer than a description (stored in the WP Caption field), and also much more likely to benefit from rich text (which the WP Description field supports). I think that being able to add transcript data to the page displaying one's video would be very beneficial both for Google and also for users (eg, they will have a higher likelihood of finding a video by searching, and there is also opportunity for website owners to creatively display the transcript data to users that want/need it).

3b) While transcript is not required by Google, I do think it would be extremely useful to have. However, just as with description and uploadDate I don't yet know how to access the WP.com Description Field data for a given video/attachment via VideoPress in Jetpack. It seems like this should be possible, but I'll definitely need some help here.

3c) <div class="video-transcript" itemprop="transcript">: I went ahead and proposed the class video-transcript as it seems in keeping with the other classes that VideoPress uses. Like with the description I think it might be best to use display:none by default, and then let the user override that with their own CSS.

  1. For all of these my proposal is that we'd only output data if we have it. For example, if there is no description then don't output anything for that (no point in having an empty container).

  2. Considerations regarding current use of Caption and Description fields: It does occur to me that some users may be making use of the Media Caption and/or Description fields for their own internal purposes, and so it would be probably be important to have some kind of mass-communication with VideoPress customers about this before implementing the description and transcript parts.

  3. An alternative to storing (and accessing) description and transcript data in the Media attributes would be to enable the user to enter this data into the WordPress post as part of the [shortcode]. This has pros and cons. A pro is it avoids any issues raised in (5) above, as well as all the potential issues with accessing the Media attributes. A major con is that the description and transcript don't follow the video as it is reposted on WP.com, or if the user just decides to post their video in multiple places on their site. But perhaps those can be acceptable losses? If we were to go this route, the description could be entered as [shortcode description="This is my description"] and transcript could be entered by making the [shortcode] enclosable, eg,

[wpvideo Lp3EoizV description="This is my description"]
<b>Transcript</b>
<p>Here is my transcript... </p>
[/wpvideo]

And so the enclosed content would all get dumped into the <div class="video-transcript" itemprop="transcript"> div, and the user can format the enclosed content however they want. Perhaps if we go this route it would actually be more intuitive to not use display:none on the transcript div, as I would think that a typical user would expect that if they entered a bunch of text into the enclosed [shortcode] that they'd expect to actually see that outputted.

I suppose another pro to the [shortcode] option is that it is probably more intuitive for most users for them to enter the description and transcript in the same place they are posting their video. Even though storing this data in the Media attributes would be more central, I could see it being confusing for the average user (who probably doesn't understand the underlying structure of things). Yet another pro is that I should be able to implement this just fine, whereas with the Media attributes route I'll definitely need help.

The more I think about it the [shortcode] route might be the best way to go (unless going the Media attributes route is easier than I anticipate). If we did this, then perhaps we'd use the date of the blog post as the uploadDate, or maybe just leave it off entirely (as it doesn't seem super-important, in my opinion)?

Depending on which route we take, there may be some significant hurdles to implementing the portions of the above that require accessing the Media Attachment attributes. And even though one of those (ie, description) is considered Required by Google, I still think there would be some benefit to implementing what can be done (and what I should be able to do a Pull Request for just fine) while we sort out the potentially more complicated pieces.

I look forward to thoughts, feedback, suggestions, etc. from whoever handles the VideoPress part of Jetpack, as well as getting to contribute some code to this great project. :)

Sean

Contact Form: submission email doesn't match the order of the Form fields

When putting together a contact form using the module bundled with Jetpack I configured the fields to look like.

  • Name:
  • Email:
  • Subject:
  • Message:

However, when I receive a form submission, the email shows the following:

  • Name:
  • Email:
  • Message:
  • Subject:

Is there anyway to get the submission email fields to match that of the form? Seems backwards that Subject would be placed after the submitters message.


The author name, email, and URL, as well as the comment are the 4 default fields in the feedback form.

Every other field is then added to the Feedback email below the default fields. We'll consequently need to create an exception for the "Subject" field.

Suggested here:

Contact form: use namespacing in custom post type to avoid conflicts

Themes and/or plugins may register duplicate CPTs, which could cause conflicts with CPTs registered by Jetpack. This can be avoided by using namespacing in CPTs registered in Jetpack.

For example, rather than feedbacks, the custom post type should be jetpack_feedbacks.

Add WP Caregiver to conflicting plugins list

This plugin (http://wordpress.org/plugins/wp-caregiver/) includes an option to generate OG tags, but it also has a lot of other options and features. We should include a conditional to check only if the OG option has been checked, not just if the plugin is active, as it does much more than generate OG tags and we wouldn't want to deactivate Jetpack's OG tags if the user has this plugin active but doesn't use it's OG generator.

After the Deadline: conflict with WordPress trunk

Running Jetpack Master and WordPress trunk.

In r26876, WordPress was updated to use TinyMCE 4.0.12.

It creates the following javascript error in the post editor:

screen shot 2013-12-30 at 10 44 54 pm

Reference:

getHash doesn't seem available in TinyMCE 4.x:

AtD will need to be updated to be compatible with the upcoming version of WordPress.

More information about the TinyMCE update here:
http://core.trac.wordpress.org/ticket/24067

Sharing: Sharing a post with & in the title sends an encoded value

Repro steps:

  • Add a new post with an & in the title: "Gin & Juice"
  • Visit post and click on the Twitter share button
  • You'll land at the Twitter sharing page with the text set to "Gin & Juice"

WordPress encodes the & when saving, so Sharing should probably decode the value before constructing the share URL.

Always `wp_kses` the post_title before sending it off to sharing services.

If someone includes html tags in the title, they can get sent off to to the sharing service and cause problems, as seen in #31. Let's start wp_kses-ing all html tags out.

We should probably also start using add_query_arg rather than building the URL by hand as we currently do -- it tends to be a bit more intelligible to read the code later.

Twitter sharing html tags

Hello everyone,

I have found an issue or maybe it's not, but when you are trying to share post via twitter it doesn't esc html for example: http://okmagazine.com/dress-up/trend-to-try/ok-look-of-the-day-mariah-careys-santa-baby-style/ try to share on twitter.

I have found where it creates sharing text :/modules/sharedaddy/sharing-sources.php
on line 412-417 code says:

if ( 140 < $strlen( $post_title ) + $suffix_length ) {
// The -1 is for "\xE2\x80\xA6", a UTF-8 ellipsis.
$text = $substr( $post_title, 0, 140 - $suffix_length - 1 ) . "\xE2\x80\xA6";
} else {
$text = $post_title;
}

What if we use strip_tags() http://www.php.net/strip_tags function to remove them, I have seen many times, when people add to the wordpress post's and page's titles.

Thanks, Alex.

SSO & Publicize should both create the WordPress.com connection

I created a new user through SSO, then I attempted to test a Publicize feature. Publicize is asking me to connect the new user account to WordPress.com. This is sort of confusing as the user should be able to connect either SSO or Publicize and have their account linked with WordPress.com.

Less clicks and less places requiring connections

add_filter “jetpack_enable_open_graph” makes no effect, so can’t remove OGP meta tag

if you add filter jetpack_enable_open_graph like this, you can’t remove OGP meta tag.
http://jetpack.me/2013/05/03/remove-open-graph-meta-tags/

add_filter( 'jetpack_enable_open_graph', '__return_false' );

I guess we can’t intercept using filter hook of FUNCTIONS.PHP in your own THEME because of faster action execution order of the hook jetpack itself has.

Curiously, filter jetpack_enable_opengraph make sense just now in spite of deprecated filter.

another solution (Im not sure)
remove "jetpack_og_tags"

remove_action( 'wp_head', 'jetpack_og_tags');

or

action execution order of “check_open_graph” should be delayed.

add_action( 'wp', array( $this, 'check_open_graph' ) , 11);

and,we can remove OGP meta tag by using plugin but CAN'T REMOVE useing THEME.

Custom CSS: font-face embedding doesn't work

Steps to reproduce:

  1. Activate the Custom CSS module
  2. Under Appearance > Edit CSS, try to embed a font using font-face, like so:

@font-face { font-family: 'amertype_md_btmedium'; src: url('http://mysite.com/wp-content/uploads/2013/12/american_typewriter-webfont.eot'); src: url('http://mysite.com/wp-content/uploads/2013/12/american_typewriter-webfont.eot?#iefix') format('embedded-opentype'), url('http://mysite.com/wp-content/uploads/2013/12/american_typewriter-webfont.woff') format('woff'), url('http://mysite.com/wp-content/uploads/2013/12/american_typewriter-webfont.ttf') format('truetype'), url('http://mysite.com/wp-content/uploads/2013/12/american_typewriter-webfont.svg#amertype_md_btmedium') format("svg"); font-weight: normal; font-style: normal; }

Load your site and look for an element that should be using the new font. You'll notice that the embedded font is not loaded.

Reported here:

Adjust tiled gallery height to one big image

Would be great if the height of the tiled gallery could be adjusted, so that one can has full width gallery, but e.g. on the left side one image and the others on the right side of it, smaller and all together maximum the height of the big one. Think that would look great if you can have an article heading above the gallery and under it goes the main article text. Look at this scribble to see what I mean...
tiled-gallery-width

SSO & BuddyPress account registration.

The WordPress.com Single Sign On module should also respect your default settings with regard to BuddyPress User Registration. I'd like to propose the addition of global that would allow site administrators running both Jetpack and BuddyPress to create new blogs in addition to user accounts during the initial SOO process.

Method of getting WordPress user id

Jetpack connects users to WordPress.com account. Polldaddy and Akismet require a user to have a WordPress.com account to use their plugin. We would like a way to check if a user has Jetpack and is connected, and if so, to pass over the WordPress.com user id. This way we can lookup the user on our own account system and skip a setup step making it easier for the users to get up and running with each plugin.

We need a new function that will pass over this wpcom user id.

Sharedaddy module translation string missing

The string %1$s (%2$s) thinks you may be interested in the following post:\n\n is listed in sharedaddy.pot, but isn't avaliable in any of the files in /languages/

Maybe also remove the two newlines at the end of the string? I personally find them quite confusing when translating.

An embed from videopress.com gives a mixed content warning on Firefox

I run my wordpress with SSL and I got a mixed content warning while looking at the Jetpack admin page. The Firefox developer tools said -

"Blocked loading mixed active content http://s0.videopress.com/player.swf?v=1.02"

So, I searched for that URL in my Jetpack source and found it in just one place, line 336 in module-info.php in the function sharedaddy_more_info_connected(). Normally, I could just change the url and leave out the 'http' to make it compatible with an SSL page, but in this case using the videopress url with https triggers another warning, also, as it seems to use a CDN SSL certificate which really brings us back to the original problem of broken under SSL.

So, normally I would just submit a pull request with a better url, but in this case I don't know what a more secure url would be for videopress.com. As a result, I can only submit an issue and ask the folks who know more than I do to use an SSL compatible url.

Add configure button for SSO

Can we add a configure button on the main Jetpack listing page under the SSO module, linking to the general settings page with an anchor link, so the user gets taken down to the bottom of the page?

Update Jetpack_SSO to be a proper singleton

Currently the Jetpack_SSO class pretends to be a singleton by forcing new Jetpack_SSO to return the single instantiated instance of this object. Jetpack_SSO should be updated to be a real singleton as saying new is misleading.

I created Jetpack_SSO::get_instance(). All that remains is refactoring the code base wherever new is used.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.