photoswipe: pid/gid link to particular photo - photoswipe

I wonder how photoswipe builds URL to a particular image in a gallery?
I see that for each image in a gallery the following URL is built: [BASE_URL]#&gid=2&pid=3. If I get it right, the pid/gid values are taken in the order of gallery/photo appearance on a page. Which presents problem for dynamic content when galleries/photos are shuffled (sorted, deleted, etc.)
Is there a way to overrule that logic such that static ID's (e.g. database PK's) are used?
Thank you.

After digging into the sources I found out that if gallery element has attribute data-pswp-uid= set to some value, then that value is used in URL as gid.
Unfortunately, same trick on an image/figure didn't do.

Related

How to query stories without parent feature link?

In a given area path, I would to get the list of stories that does not have parent feature link. How should I write the query for it?
To achieve you could change the type of your query to the Work items and Direct Links query, then choose the option to pull back all work items without any matching links. The results will still be a flat list.
In the filters for top level work items, just add a filed to specify a detail area path and choose corresponding work item type.
More details please take a look at our official here: Use direct links to view dependencies
Hope this helps.

authorProfileImageUrl returns only a tiny thumbnail

I'm trying to use YouTube Data API to get a list of comments for a video.
The problem is that the field authorProfileImageUrl in the response contains a URL to a tiny thumbnail (28x28 pixels) of the profile image instead of the bigger one (48x48) that can be seen in YouTube's comment section. How can I retrieve the bigger one? Am I missing some magic parameter in the request that selects the size of the profile images in comments?
Here's my request URL:
https://www.googleapis.com/youtube/v3/commentThreads?videoId=VIDEO_ID&part=snippet&fields=pageInfo,items(snippet(topLevelComment(id,snippet(authorDisplayName,authorChannelUrl,authorProfileImageUrl,authorChannelId,textDisplay,likeCount,publishedAt)),totalReplyCount))&maxResults=3&key=API_KEY
Edit:
Here's an example profile pic URL i get:
https://yt3.ggpht.com/-b-fXZSZ0hPw/AAAAAAAAAAI/AAAAAAAAAAA/mq4JpF46xq4/s28-c-k-no-mo-rj-c0xffffff/photo.jpg
^^
I noticed that the marked part seems to select the size, because when I change the 28 to 48, the size of the profile pic changes too.
I could change it "manually" with some fancy regexp, and it will work, but it will also rely on implementation details that are undocumented and that may change in future and render the application broken :P So it really would be better if there was a documented API way to do that.
Seems like nobody knows how to solve this, ho here's my temporary solution.
It works, but it depends on an implementation detail that can change in the future and then the solution will break apart and will have to be corrected :q
I accept my own answer for now, but when someone posts a better one, I'll accept it instead.
The solution:
I made a simple function that searches for the image size in the URL string and replaces it with a bigger size.
function small2big(url)
{
return url.replace(/(\/.*s)28(.*\/photo.jpg)$/,"$1"+"48"+"$2");
}
Oh, and here's my middle finger for you, Google: ,,|,,
It seems that actually removing everything right at the 's28' will display the entire image without specifying a size.
For example, instead of this:
https://yt3.ggpht.com/-b-fXZSZ0hPw/AAAAAAAAAAI/AAAAAAAAAAA/mq4JpF46xq4/s28-c-k-no-mo-rj-c0xffffff/photo.jpg
You can use this: https://yt3.ggpht.com/-b-fXZSZ0hPw/AAAAAAAAAAI/AAAAAAAAAAA/mq4JpF46xq4/
And it will return the full size image.
In my case, using php I simply:
function bigAvatar($url) {
$url = substr($url, 0, strpos($url, 's28'));
return $url;
}
Again, if google decides to change this in the future, this would break. But for now, it works.

JQGrid: How to override saveparameters url for inlineNav addRow?

I need to explicity specify the url for adding a row via inlineNav.
But, I do not know HOW to do that, other than something called saveparameters has the url value I need to specify, documented here: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing&s[]=addrowparams
However, function that uses that is saveRow, and that is called by inlineNav save button using default saveparameters, which has wrong URL (the window location, because grid has not editurl specified).
QUESTION: How can I configure jqGrid saveparameters with the url my inlineNav save button needs?
I could put 8 or 10 URLs here showing many asking same question and no answer. Is this stupid question, or not supported or possible?
Any help much appreciated.

Rails : How To Search and Get the First Image from a Post?

I have created a blog with rails. All the posts will contain at least one image. On the Blog page, I need to list all the posts. In this list, I need to add the first image of the post infront of each post. How Can I do this? (Please tell me how. Im new to rails!)
If possible, when there are more than one images, I need to select the image which have the css class "features". If it not there, select the first image. How to do it?
PS : I use CKEditor to write the post and upload images.
I just managed to get the image paths with the regular expression [/img.?src="(.?)"/i,1]. Know how to identify the css class and use the image with the class "featured" if its available?
I am not sure how CKEditor works with all of this out of the box, but here is what I would do.
Checkout paperclip or carrierwave and create the models/columns that you are looking for.
With both of these you can specify sizes which you could use in your views so you code could look like this:
#blog_post.main_photo.small.url if #blog_post.main_photo

twitter: share link with parameters

I have a share button on my site.
But I need to share link with parameters, and each time parameters will be different (I need to track user who is sharing, etc.)
For example need to share link like http://mySite.com/page?userId=111&someParam=222
I can share this well, but how can I force count to work correct?
if I set
data-url="http://mySite.com/page?userId=111&someParam=222"
data-counturl="http://mySite.com/page/"
I am getting count 0 always. How to get this work?
From http://dev.twitter.com/pages/tweet_button,
"The count box shows how many times the URL has been Tweeted."
Your problem is you simply have the url and counturl mixed up. Change url to the short one, for display purposes - that's the one people will see. Use the counturl for the one with all the parameters, to ensure they go to the right place with the parameters intact.
I suspect the reason your count kept showing zero tweets is because you have a different (unique) url as your primary url each time it is tweeted, so each tweet is the first time that url (including its parameters) was shared.
Twitter now lets you send the url through data attributes. This works perfectly for me and should work for you out of the box!
The button (check out data-url):
Tweet
The twitter javascript snippet (from https://dev.twitter.com/docs/tweet-button)
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

Resources