linkedin2cv 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.buildpacks +1 -1
- data/.gitignore +3 -2
- data/Procfile +1 -3
- data/README.md +2 -2
- data/app/routes/api.rb +27 -3
- data/app/routes/web.rb +6 -5
- data/app/views/home.erb +2 -2
- data/app/views/index.haml +1 -3
- data/bin/linkedin2cv +9 -0
- data/lib/linkedin2cv/converter.rb +25 -21
- data/lib/linkedin2cv/renderer/latex_renderer.rb +41 -33
- data/lib/linkedin2cv/version.rb +1 -1
- data/linkedin2cv.gemspec +1 -1
- data/public/app/index.html +3 -3
- data/public/app/scripts/app.js +2 -2
- data/public/app/scripts/controllers/main.js +1 -1
- data/public/app/scripts/services/linkedin2cv.js +2 -2
- data/public/app/styles/main.scss +1 -1
- data/public/app/views/main.html +1 -1
- data/public/bower.json +1 -1
- data/public/package.json +1 -1
- data/public/test/spec/controllers/main.js +1 -1
- data/public/test/spec/services/happyapi.js +6 -6
- data/public/test/spec/services/happyservice.js +1 -1
- data/spec/converter_spec.rb +0 -32
- data/spec/latex_renderer_spec.rb +32 -0
- data/spec/mocks/config.yml +5 -1
- data/spec/mocks/matt.latex +1424 -0
- data/spec/mocks/profile.json +1 -1
- data/templates/cv.erb +15 -4
- data/texlive.packages +17 -0
- metadata +10 -6
- data/app/views/hello.erb +0 -36
- data/test.rb +0 -109
- data/test.sh +0 -6
data/spec/mocks/profile.json
CHANGED
@@ -415,7 +415,7 @@
|
|
415
415
|
}
|
416
416
|
},
|
417
417
|
{
|
418
|
-
"description": "The transformation programme is an IT integration and business transformation project brought about primarily to standardise business functions & processes, and to consolidate core customer information into a single system. This would enable Melbourne IT to more efficiently manage its customers, improve service offerings and \n\nI have served in a Solution Architect type role around the Web Properties integration piece which forms the all-important pointy part of the value chain \u2013 the direct interaction between Melbourne IT and its customers.\n\nMy involvement in the project to date has included the following:\n* Acting as a Subject Matter Expert (SME), providing advice on scoping and preparing the Web sub-project
|
418
|
+
"description": "The transformation programme is an IT integration and business transformation project brought about primarily to standardise business functions & processes, and to consolidate core customer information into a single system. This would enable Melbourne IT to more efficiently manage its customers, improve service offerings and \n\nI have served in a Solution Architect type role around the Web Properties integration piece which forms the all-important pointy part of the value chain \u2013 the direct interaction between Melbourne IT and its customers.\n\nMy involvement in the project to date has included the following:\n* Acting as a Subject Matter Expert (SME), providing advice on scoping and preparing the Web sub-project\u2019s business requirements\n* High-level design for integrating existing websites, service portals, the new Oracle suite and our existing legacy systems\n* Technical lead, including mid-level and detailed designs for the implementation of 5 sub-streams.",
|
419
419
|
"endDate": {
|
420
420
|
"month": 11,
|
421
421
|
"year": 2012
|
data/templates/cv.erb
CHANGED
@@ -65,7 +65,8 @@ end
|
|
65
65
|
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
|
66
66
|
%----------------------------------------------------------------------------------------
|
67
67
|
|
68
|
-
|
68
|
+
%\documentclass{scrartcl}
|
69
|
+
\documentclass{article}
|
69
70
|
|
70
71
|
\usepackage[T1]{fontenc}
|
71
72
|
|
@@ -109,9 +110,11 @@ end
|
|
109
110
|
|
110
111
|
<% end %>
|
111
112
|
|
113
|
+
<% if !profile.member_url_resources.nil? %>
|
112
114
|
<% for @url in profile.member_url_resources.all %>
|
113
115
|
\NewEntry{website}{\href{<%= @url.url %>}{<%= @url.url %>}} % Personal website
|
114
116
|
|
117
|
+
<% end %>
|
115
118
|
<% end %>
|
116
119
|
|
117
120
|
<% if !options['home_phone'].nil? && !options['mobile_phone'].nil? %>
|
@@ -135,6 +138,7 @@ end
|
|
135
138
|
% WORK EXPERIENCE
|
136
139
|
%----------------------------------------------------------------------------------------
|
137
140
|
|
141
|
+
<% if !profile.positions.nil? %>
|
138
142
|
\noindent\spacedlowsmallcaps{Professional Experience}\vspace{1em}
|
139
143
|
|
140
144
|
<% for @position in profile.positions.all %>
|
@@ -166,9 +170,11 @@ end
|
|
166
170
|
|
167
171
|
\vspace{1em} % Extra space between major sections
|
168
172
|
|
173
|
+
<% end %>
|
169
174
|
%----------------------------------------------------------------------------------------
|
170
175
|
% PROJECTS
|
171
176
|
%----------------------------------------------------------------------------------------
|
177
|
+
<% if !profile.projects.nil? %>
|
172
178
|
|
173
179
|
\noindent\spacedlowsmallcaps{Projects}\vspace{1em}
|
174
180
|
|
@@ -203,12 +209,14 @@ end
|
|
203
209
|
|
204
210
|
\vspace{1em} % Extra space between major sections
|
205
211
|
|
212
|
+
<% end %>
|
206
213
|
%----------------------------------------------------------------------------------------
|
207
214
|
% EDUCATION
|
208
215
|
%----------------------------------------------------------------------------------------
|
209
|
-
|
216
|
+
<% if !profile.educations.nil? %>
|
210
217
|
\spacedlowsmallcaps{Education}\vspace{1em}
|
211
218
|
|
219
|
+
|
212
220
|
<% for @education in profile.educations.all %>
|
213
221
|
|
214
222
|
\NewEntry{<%=@education.start_date.year %>-<%=@education.end_date.year %>}{<%= @education.school_name %>}
|
@@ -253,6 +261,7 @@ end
|
|
253
261
|
|
254
262
|
\vspace{1em} % Extra space between major sections
|
255
263
|
|
264
|
+
<% end %>
|
256
265
|
%----------------------------------------------------------------------------------------
|
257
266
|
% PUBLICATIONS
|
258
267
|
%----------------------------------------------------------------------------------------
|
@@ -276,7 +285,7 @@ end
|
|
276
285
|
%----------------------------------------------------------------------------------------
|
277
286
|
% COMPUTER SKILLS
|
278
287
|
%----------------------------------------------------------------------------------------
|
279
|
-
|
288
|
+
<% if !profile.skills.nil? %>
|
280
289
|
\spacedlowsmallcaps{Expertise\textbackslash Skills}\vspace{1em}
|
281
290
|
|
282
291
|
\Description{\MarginText{Leadership}
|
@@ -307,14 +316,16 @@ end
|
|
307
316
|
|
308
317
|
\vspace{1em} % Extra space between major sections
|
309
318
|
|
319
|
+
<% end %>
|
310
320
|
%----------------------------------------------------------------------------------------
|
311
321
|
% OTHER INFORMATION
|
312
322
|
%----------------------------------------------------------------------------------------
|
323
|
+
<% if !profile.interests.nil? %>
|
313
324
|
|
314
325
|
\spacedlowsmallcaps{Other Information}\vspace{1em}
|
315
326
|
|
316
327
|
\Description{\MarginText{Interests}<%= profile.interests.gsub(',', '\\\ \\\ $\\\cdotp$\\\ \\\ ')%>}
|
317
|
-
|
328
|
+
<% end %>
|
318
329
|
%----------------------------------------------------------------------------------------
|
319
330
|
|
320
331
|
\AtEndDocument{\vfill%
|
data/texlive.packages
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linkedin2cv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mefellows
|
@@ -336,7 +336,8 @@ description: Turn your LinkedIn Profile into a professional resume in many forma
|
|
336
336
|
(PDF / HTML5 / LaTeX / Asciidoc)
|
337
337
|
email:
|
338
338
|
- matt.fellows@onegeek.com.au
|
339
|
-
executables:
|
339
|
+
executables:
|
340
|
+
- linkedin2cv
|
340
341
|
extensions: []
|
341
342
|
extra_rdoc_files: []
|
342
343
|
files:
|
@@ -354,9 +355,9 @@ files:
|
|
354
355
|
- app.rb
|
355
356
|
- app/routes/api.rb
|
356
357
|
- app/routes/web.rb
|
357
|
-
- app/views/hello.erb
|
358
358
|
- app/views/home.erb
|
359
359
|
- app/views/index.haml
|
360
|
+
- bin/linkedin2cv
|
360
361
|
- config.ru
|
361
362
|
- config.yml
|
362
363
|
- lib/linkedin2cv/cli/command.rb
|
@@ -394,16 +395,17 @@ files:
|
|
394
395
|
- public/test/spec/services/happyapi.js
|
395
396
|
- public/test/spec/services/happyservice.js
|
396
397
|
- spec/converter_spec.rb
|
398
|
+
- spec/latex_renderer_spec.rb
|
397
399
|
- spec/mocks/config.yml
|
400
|
+
- spec/mocks/matt.latex
|
398
401
|
- spec/mocks/profile.json
|
399
402
|
- spec/spec_helper.rb
|
400
403
|
- templates/cv.erb
|
401
404
|
- templates/foo.asciidoc
|
402
405
|
- templates/foo.latex
|
403
|
-
- test.rb
|
404
|
-
- test.sh
|
405
406
|
- teust.rb
|
406
|
-
|
407
|
+
- texlive.packages
|
408
|
+
homepage: http://linkedin2cv.herokuapp.com
|
407
409
|
licenses:
|
408
410
|
- MIT
|
409
411
|
metadata: {}
|
@@ -429,6 +431,8 @@ specification_version: 4
|
|
429
431
|
summary: Linkedin2CV
|
430
432
|
test_files:
|
431
433
|
- spec/converter_spec.rb
|
434
|
+
- spec/latex_renderer_spec.rb
|
432
435
|
- spec/mocks/config.yml
|
436
|
+
- spec/mocks/matt.latex
|
433
437
|
- spec/mocks/profile.json
|
434
438
|
- spec/spec_helper.rb
|
data/app/views/hello.erb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
<html>
|
2
|
-
<body>
|
3
|
-
<h1>Simple Echo & Chat Server</h1>
|
4
|
-
<form id="form">
|
5
|
-
<input type="text" id="input" value="send a message"></input>
|
6
|
-
</form>
|
7
|
-
<div id="msgs"></div>
|
8
|
-
</body>
|
9
|
-
|
10
|
-
<script type="text/javascript">
|
11
|
-
window.onload = function(){
|
12
|
-
(function(){
|
13
|
-
var show = function(el){
|
14
|
-
return function(msg){ el.innerHTML = msg + '<br />' + el.innerHTML; }
|
15
|
-
}(document.getElementById('msgs'));
|
16
|
-
|
17
|
-
var url = 'ws://' + window.location.host + '/socket';
|
18
|
-
alert('opening connection to: ' + url)
|
19
|
-
var ws = new WebSocket(url);
|
20
|
-
ws.onopen = function() { show('websocket opened'); };
|
21
|
-
ws.onclose = function() { show('websocket closed'); }
|
22
|
-
ws.onmessage = function(m) { show('websocket message: ' + m.data); };
|
23
|
-
|
24
|
-
var sender = function(f){
|
25
|
-
var input = document.getElementById('input');
|
26
|
-
input.onclick = function(){ input.value = "" };
|
27
|
-
f.onsubmit = function(){
|
28
|
-
ws.send(input.value);
|
29
|
-
input.value = "send a message";
|
30
|
-
return false;
|
31
|
-
}
|
32
|
-
}(document.getElementById('form'));
|
33
|
-
})();
|
34
|
-
}
|
35
|
-
</script>
|
36
|
-
</html>
|
data/test.rb
DELETED
@@ -1,109 +0,0 @@
|
|
1
|
-
|
2
|
-
API_KEY = '75t9gujk0rzk6l' #Your app's API key
|
3
|
-
API_SECRET = 'ww922LmfF9JhM8Wx' #Your app's API secret
|
4
|
-
REDIRECT_URI = 'http://localhost:3000/accept' #Redirect users after authentication to this path, ensure that you have set up your routes to handle the callbacks
|
5
|
-
STATE = SecureRandom.hex(15) #A unique long string that is not easy to guess
|
6
|
-
|
7
|
-
#Instantiate your OAuth2 client object
|
8
|
-
def client
|
9
|
-
OAuth2::Client.new(
|
10
|
-
API_KEY,
|
11
|
-
API_SECRET,
|
12
|
-
:authorize_url => "/uas/oauth2/authorization?response_type=code", #LinkedIn's authorization path
|
13
|
-
:token_url => "/uas/oauth2/accessToken", #LinkedIn's access token path
|
14
|
-
:site => "https://www.linkedin.com"
|
15
|
-
)
|
16
|
-
end
|
17
|
-
|
18
|
-
def index
|
19
|
-
authorize
|
20
|
-
end
|
21
|
-
|
22
|
-
def authorize
|
23
|
-
#Redirect your user in order to authenticate
|
24
|
-
redirect_to client.auth_code.authorize_url(:scope => 'r_fullprofile r_emailaddress r_network',
|
25
|
-
:state => STATE,
|
26
|
-
:redirect_uri => REDIRECT_URI)
|
27
|
-
end
|
28
|
-
|
29
|
-
# This method will handle the callback once the user authorizes your application
|
30
|
-
def accept
|
31
|
-
#Fetch the 'code' query parameter from the callback
|
32
|
-
code = params[:code]
|
33
|
-
state = params[:state]
|
34
|
-
|
35
|
-
if !state.eql?(STATE)
|
36
|
-
#Reject the request as it may be a result of CSRF
|
37
|
-
else
|
38
|
-
#Get token object, passing in the authorization code from the previous step
|
39
|
-
token = client.auth_code.get_token(code, :redirect_uri => REDIRECT_URI)
|
40
|
-
|
41
|
-
#Use token object to create access token for user
|
42
|
-
#(this is required so that you provide the correct param name for the access token)
|
43
|
-
access_token = OAuth2::AccessToken.new(client, token.token, {
|
44
|
-
:mode => :query,
|
45
|
-
:param_name => "oauth2_access_token",
|
46
|
-
})
|
47
|
-
|
48
|
-
#Use the access token to make an authenticated API call
|
49
|
-
response = access_token.get('https://api.linkedin.com/v1/people/~')
|
50
|
-
|
51
|
-
#Print body of response to command line window
|
52
|
-
puts response.body
|
53
|
-
|
54
|
-
# Handle HTTP responses
|
55
|
-
case response
|
56
|
-
when Net::HTTPUnauthorized
|
57
|
-
# Handle 401 Unauthorized response
|
58
|
-
when Net::HTTPForbidden
|
59
|
-
# Handle 403 Forbidden response
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
|
66
|
-
API_KEY = '75t9gujk0rzk6l' #Your app's API key
|
67
|
-
API_SECRET = 'ww922LmfF9JhM8Wx' #Your app's API secret
|
68
|
-
|
69
|
-
|
70
|
-
# Step 1: Get the auth code
|
71
|
-
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=75t9gujk0rzk6l&scope=r_fullprofile&state=DCEEFWF45453sdffef424&redirect_uri=https://localhost:8080
|
72
|
-
# Step2: Get the access token
|
73
|
-
curl -X POST -H"Content-Type: application/x-www-form-urlencoded" -v "https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&client_id=75t9gujk0rzk6l&client_secret=ww922LmfF9JhM8Wx&redirect_uri=https://localhost:8080&code=AQQ1cLiTvF59ORYKTBOYlJjPAMolXfd4jVzSFu1nog4F3J_el6qfeTGLDQxbRdeO3pre-mHH1mVxF0mxD0BccjCVXMQ0qcWvns4pIIjDXdoW6Q70-DA&state=DCEEFWF45453sdffef424"
|
74
|
-
|
75
|
-
token: AQXgQQmtBtqC24TR9dsgb6jzby4sX7YSsWu3TQ8OEHRwyXTSlrTHEGSxVrNaIJhq-NPl-CH2KC-yxdvS7k_ELRFj_XaoPIaKMhF7-lNeAI_5Tu7nbJFBXTfoxha-WSQXLJSQdcGQzIqXInb18rTTx95XRp9AYaOKOAN3EC2bD2xE48efT1M
|
76
|
-
|
77
|
-
|
78
|
-
# Profile
|
79
|
-
curl -v "https://api.linkedin.com/v1/people/~?oauth2_access_token=AQWQ_pGDPgE0WnicHmI6K8TlI4kguauErfuW4t4g9wxcTt0STraOI5l9drba2yQhe9r53qjJvKMhivuFuATQZNVXY0sOmJK22--pTD3j57aonDPokBEqrfKELQtSURoHR0MKbeuRAYEAjqzXp7u2teRuOt4C3NweYuICOva_Wbdk2VKPw-8"
|
80
|
-
|
81
|
-
# Profile details
|
82
|
-
curl -v "https://api.linkedin.com/v1/people/~?oauth2_access_token=AQXgQQmtBtqC24TR9dsgb6jzby4sX7YSsWu3TQ8OEHRwyXTSlrTHEGSxVrNaIJhq-NPl-CH2KC-yxdvS7k_ELRFj_XaoPIaKMhF7-lNeAI_5Tu7nbJFBXTfoxha-WSQXLJSQdcGQzIqXInb18rTTx95XRp9AYaOKOAN3EC2bD2xE48efT1M"
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
curl -v "https://api.linkedin.com/v1/people/~:(position,company,publication,patent,language,skills,certification,education,course,volunteer,recommendations)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
87
|
-
curl -v "https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
88
|
-
curl -v "https://api.linkedin.com/v1/people/~:(people:(id,first-name,last-name,headline,picture-url,industry,positions:(id,title,summary,start-date,end-date,is-current,company:(id,name,type,size,industry,ticker)),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes)),num-results)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills,certifications,educations,courses,volunteer,three-current-positions,three-past-positions,num-recommenders,recommendations-received,mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),volunteer:(id,role,organization:(name),cause:(name)),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received,recommendations:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),volunteer:(id,role,organization:(name),cause:(name)),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
101
|
-
|
102
|
-
# Works
|
103
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
104
|
-
|
105
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?oauth2_access_token=AQWQ_pGDPgE0WnicHmI6K8TlI4kguauErfuW4t4g9wxcTt0STraOI5l9drba2yQhe9r53qjJvKMhivuFuATQZNVXY0sOmJK22--pTD3j57aonDPokBEqrfKELQtSURoHR0MKbeuRAYEAjqzXp7u2teRuOt4C3NweYuICOva_Wbdk2VKPw-8"
|
106
|
-
curl -v "https://api.linkedin.com/v1/people/~:(projects,main-address,phone-numbers,email-address,first-name,last-name,maiden-name,formatted-name,phonetic-first-name,phonetic-last-name,formatted-phonetic-name,headline,location:(name,country:(code)),industry,current-status,current-share,num-connections,num-connections-capped,summary,specialties,positions,picture-url,api-standard-profile-request:(url,headers),public-profile-url,last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQUAZ5-05E9BYyrXJOgnLsRSLgIKzvnPZ2Fu3ZbTWlYqxULuRJISbvan1sBCTqUSYGpI5jm1D-4IDOyJxRRTCB4Nkq4jY7oX-nhkYGqJ_IViMqZX3L-DNwYROgTnOBVZpb-QKObXFZZjMdSOnyhmpJ_E7YMAVsYHn8ph7fUhJJACw0AFq4A"
|
107
|
-
|
108
|
-
|
109
|
-
curl -v "https://api.linkedin.com/v1/people/~:(projects:(start-date,description,id,name,url,occupation),main-address,phone-numbers,email-address,first-name,last-name,maiden-name,formatted-name,phonetic-first-name,phonetic-last-name,formatted-phonetic-name,headline,location:(name,country:(code)),industry,current-status,current-share,num-connections,num-connections-capped,summary,specialties,positions,picture-url,api-standard-profile-request:(url,headers),public-profile-url,last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQUAZ5-05E9BYyrXJOgnLsRSLgIKzvnPZ2Fu3ZbTWlYqxULuRJISbvan1sBCTqUSYGpI5jm1D-4IDOyJxRRTCB4Nkq4jY7oX-nhkYGqJ_IViMqZX3L-DNwYROgTnOBVZpb-QKObXFZZjMdSOnyhmpJ_E7YMAVsYHn8ph7fUhJJACw0AFq4A"
|
data/test.sh
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
find . -type f -iname '*linkedin2cv *' | grep -v '\.git' | xargs rename 's@linkedin2cv @linkedin2cv @gi' {}
|
4
|
-
find . -type d -iname '*linkedin2cv *' | grep -v '\.git' | xargs rename 's@linkedin2cv @linkedin2cv @gi' {}
|
5
|
-
find . -type f | grep -v '\.git' | xargs sed -i 's/linkedin2cv /linkedin2cv /g'
|
6
|
-
find . -type f | grep -v '\.git' | xargs sed -i 's/Linkedin2Resume/Linkedin2Resume/g'
|